Hi Everyone, I'm working from an ARM guide. The doc provides this code: $ cat move.c int main(int argc, char* argv[]) { int a; asm volatile("movw %0,%L1 \n" "movt %0,%H1 \n" : "=r"(a) : "i"(0x12345678)); return a; } It results in: $ gcc -march=armv7 move.c move.c: In function ‘main’: move.c:4:5: error: invalid 'asm': invalid operand for code 'H' asm volatile("movw %0,%L1 \n" ^ The guide says this about the modifiers: L - The lowest-numbered register of a register pair, or the low 16 bits of an immediate constant. H - The highest-numbered register of a register pair, or the high 16 bits of an immediate constant .... Is this an ARM extension not present in GCC? Or am I doing something wrong? Jeff