https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71040
Bug ID: 71040 Summary: [7 Regression] ICE: verify_gimple failed (error: invalid operand in unary operation; error: incorrect sharing of tree nodes) w/ -O3 Product: gcc Version: 7.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- gcc-7.0.0-alpha20160508 ICEs when compiling the following reduced snippet w/ -O3: struct { int b8 : 24; } ud, ce; int et; void fo (void); void p4 (int pn) { while (et != 0) { short int *uc = (short int *)&ud; if (pn != 0) fo (); *uc = ce.b8; ++et; } } % gcc-7.0.0-alpha20160508 -c -O3 apdexura.c apdexura.c: In function 'p4': apdexura.c:11:1: error: invalid operand in unary operation p4 (int pn) ^~ # VUSE <.MEM_8(D)> ce_b8_lsm0.5_6 = (<unnamed-signed:24>) MEM[(struct *)&ce]; apdexura.c:11:1: error: invalid operand in unary operation apdexura.c:11:1: error: incorrect sharing of tree nodes MEM[(struct *)&ce] # VUSE <.MEM_8(D)> _23 = (short int) MEM[(struct *)&ce]; apdexura.c:11:1: internal compiler error: verify_gimple failed