[llvm-dev] Meaning of IR inline assembly

AlexandreFressange via llvm-dev llvm-dev at lists.llvm.org
Wed Nov 18 07:28:05 PST 2015


Most of the IR language is correctly explained; but with inline assembly I feel alone at some point:

define i32 @main(i32 %argc, i8** %argv) #0 {
  ... //some uninteresting bloat here
  call void asm sideeffect "outw %eax, $0", "imr,~{dirflag},~{fpsr},~{flags}"(i32 %8) #2, !srcloc !2
  ret i32 0

I reduced the above code to the offending line containing: "imr,~{dirflag},~{fpsr},~{flags}".

How should I interpret this? I found no resource on this over the net. Maybe there are more options like that? 
Do you have a link explaining this more in details?

thanks a lot.

More information about the llvm-dev mailing list