https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96866
Jiu Fu Guo <guojiufu at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |guojiufu at gcc dot gnu.org --- Comment #2 from Jiu Fu Guo <guojiufu at gcc dot gnu.org> --- with -fPIC, the asm insn in RTL looks like: (insn 8 7 0 (parallel [ (asm_operands/v ("#%a0") ("") 0 [ (symbol_ref:DI ("x") [flags 0x80] <var_decl 0x200000b00360 x>) ] [ (asm_input:DI ("X") t.c:9) ] [] t.c:9) (clobber (reg:SI 98 ca)) ]) "t.c":9:3 -1 (nil)) Here operand 0 of asm is "(symbol_ref:DI ("x")..)", this is not handled as the invalid address. Some targets(e.g. x86_64) report messages (like "invalid constraints for operand") for this code. This PR mentions ice-on-invalid-code too :)