https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64733
--- Comment #2 from aji at ti dot com --- The issue is with this line of code: asm volatile("mov X1, #0x10000003"); If I modify the mov instruction to take a variable input it works. val = 0x10000003; asm volatile("mov X1, %0":"=r"(val)); Just want to understand why is this?