https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70370
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target|aarch64 | Status|NEW |ASSIGNED Component|c |middle-end Version|unknown |6.0 Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org --- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> --- I think it's ok to use __real/__imag as lvalue. The ICE is odd, it appears after ipa-pure-const (pass_nothrow). Ah, but the ASM misses virtual operands after into-SSA thus this looks like an operand scanner issue. Target independent testcase: _Complex float foo (_Complex float f) { __asm__ ("" : "=r" (__real f)); return f; } the issue is you need a memory constraint to use a memory input here or rather the issue is we fail to properly gimplify this.