[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