This code > import ldc.llvmasm; > @naked void foo() { > __asm("mov lr, 0xfffffffd", ""); > } Definitely should compile to > mvn.w lr, #2 But now it compiles to > mvn.w lr, #2 > bx lr