https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69353
ktkachov at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2016-02-17 CC| |ktkachov at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from ktkachov at gcc dot gnu.org --- Confirmed on aarch64 as well. I've seen the same ICE with a different testcase at -O3 -floop-interchange int a, b, c, e; short d; void fn1 () { for (; b; b++) { char f = c = 2; for (; c <= 6; c++) ++f; if ((2 && a) >= f) ; else { short *g = &d; *g = e = 0; } } } mycrash.c: In function 'fn1': mycrash.c:4:1: error: incompatible types in PHI argument 1 fn1 () ^~~ short int int d_lsm.10_23 = PHI <d_lsm.10_38(4), e_lsm.8_13(14)> mycrash.c:4:1: error: incompatible types in PHI argument 0 short int int d_lsm.10_54 = PHI <e_lsm.8_13(16)> mycrash.c:4:1: error: non-trivial conversion at assignment int short int # .MEM_51 = VDEF <.MEM_50> e = d_lsm.10_54; mycrash.c:4:1: internal compiler error: verify_gimple failed 0xb52ad6 verify_gimple_in_cfg(function*, bool) $TOP/gcc/tree-cfg.c:5125 0xa45cba execute_function_todo $TOP/gcc/passes.c:1958 0xa45ec5 do_per_function $TOP/gcc/passes.c:1645 0xa4600d execute_todo $TOP/gcc/passes.c:2010 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions.