Are there any examples for the inline assembler or more complete docs?<div><br></div><div>Questions:</div><div><br></div><div>* What are the syntax and semantics of constraints?</div><div>* If I load up specific registers in the inline assembly, will llvm make sure that those registers are unassigned or should I save the registers and restore them? i.e. does llvm try and understand what is going on in the inline assembly, or is it a black box to llvm analysis?</div>
<div>* What is the syntax of the inline assembly? i.e. intel, att, ...?</div><div><br></div><div>The test code is complete mystery to me:</div><div><br></div><div><br></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;">
<div><div>; From test/Assembler/alignstack.II</div><div><br></div><div>define void @test1() nounwind {</div></div><div><div>; CHECK: test1</div></div><div><div>; CHECK: sideeffect</div></div><div><div>; CHECK-NOT: alignstack</div>
</div><div><div><span class="Apple-tab-span" style="white-space:pre">       </span></div>tail call void asm sideeffect "mov", "~{dirflag},~{fpsr},~{flags}"() nounwind</div><div><div><span class="Apple-tab-span" style="white-space:pre">     </span></div>
ret void</div><div><div>; CHECK: ret</div></div><div><div>}</div></div></blockquote><div><br></div><div><br></div><div>* Presumably "mov" is the inline assembly string, but that isn't going to assemble without arguments -- are arguments append to the string somehow?</div>
<div>* Is anyone using the inline assembler? I would really like to see how others are using it.</div>