https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64015
Bug ID: 64015 Summary: [5.0 Regression] AArch64 ICE due to conditional compare Product: gcc Version: 5.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: ktkachov at gcc dot gnu.org CC: zhenqiang.chen at arm dot com Target: aarch64* Created attachment 34065 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34065&action=edit Reduced testcase Attached testcase ICEs with: ice.c: In function 'test': ice.c:4:1: error: unrecognizable insn: } ^ (insn 8 7 9 2 (set (reg:CC_DGTU 66 cc) (compare:CC_DGTU (and:SI (ne:SI (reg:CC_DGTU 66 cc) (const_int 0 [0])) (gtu:SI (reg/v:SI 79 [ b ]) (const_int 252 [0xfc]))) (const_int 0 [0]))) ice.c:3 -1 (nil)) I've tracked it down to the aarch64 conditional compare patches. r217638 works whereas r217646 has the ICE. -O2 should be enough to reproduce. Zhenqiang, can you take a look please?