[llvm] r182991 - X86: change MOV64ri64i32 into MOV32ri64

Tim Northover t.p.northover at gmail.com
Fri May 31 10:59:38 PDT 2013


> We probably can, is the invariant this change breaks something that we want
> to break?

I'd say so. It's an invariant the compiler can't hope to preserve in
general. Consider:
   asm("movl $1, %%eax" : : :"eax");
   asm("addl %0, %%eax" : : "r"(goodness_knows_what()) : "eax");

You could imagine more and less contrived examples where it's not
feasible too (instrumentation, perhaps?). I could just about call it a
reasonable expectation when there's no input or output operands, but
any further gets very murky.

Tim.



More information about the llvm-commits mailing list