[Bug middle-end/70370] ICE in execute_todo, at passes.c:2003 when using __real__ or __imag__ as lvalue in asm

2016-03-24 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70370 --- Comment #10 from Richard Biener --- Author: rguenth Date: Thu Mar 24 12:19:56 2016 New Revision: 234453 URL: https://gcc.gnu.org/viewcvs?rev=234453=gcc=rev Log: 2016-03-24 Richard Biener PR middle-end/70370

[Bug middle-end/70370] ICE in execute_todo, at passes.c:2003 when using __real__ or __imag__ as lvalue in asm

2016-03-24 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70370 Richard Biener changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|---

[Bug middle-end/70370] ICE in execute_todo, at passes.c:2003 when using __real__ or __imag__ as lvalue in asm

2016-03-24 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70370 Richard Biener changed: What|Removed |Added Keywords||ice-checking, wrong-code --- Comment

[Bug middle-end/70370] ICE in execute_todo, at passes.c:2003 when using __real__ or __imag__ as lvalue in asm

2016-03-23 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70370 --- Comment #7 from Richard Biener --- Testcase for inout that now will error with the patch (but also ICEd before). _Complex float foo (_Complex float f) { __asm__ ("" : "+r" (__real f)); return f; } > ./cc1 -quiet t.c -fdump-tree-all

[Bug middle-end/70370] ICE in execute_todo, at passes.c:2003 when using __real__ or __imag__ as lvalue in asm

2016-03-23 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70370 --- Comment #6 from Richard Biener --- So we have !allows_mem here which we can only handle if !is_inout by emitting a store in the post-queue like __asm__("" : "=r" tem_1); __real f = tem_1; The following works for me (otherwise untested

[Bug middle-end/70370] ICE in execute_todo, at passes.c:2003 when using __real__ or __imag__ as lvalue in asm

2016-03-23 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70370 Richard Biener changed: What|Removed |Added Target|aarch64 | Status|NEW