[LLVMdev] Extended Inline asm with double data type crashes clang

Tim Northover t.p.northover at gmail.com
Thu Nov 22 13:19:29 PST 2012


> "r" is supposed to be a single register, not a register pair; the fact
> that gcc accepts this is probably an accident.  clang should reject
> this code (without crashing, of course).

I'm not quite convinced by this. On AArch64, GCC supports the %H, %Q
and %R operand modifiers which very explicitly deal with a pair of
64-bit registers. These are intended to be used with the 'r'
constraint (I asked, specifically because there wasn't a corresponding
"register-pair" constraint).

It could just be the new port and no-one's noticed the rules have been
broken yet, of course. So we could take the high road, but it's a
little unclear who we should go whinging to that GCC is breaking the
rules of the GCC-specific inline assembly syntax.

Tim.



More information about the llvm-dev mailing list