https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71816
--- Comment #16 from ktkachov at gcc dot gnu.org --- The following is reduced from the genattrtab.c ICE when bootstrapping on arm-none-linux-gnueabihf: typedef struct rtx_def *rtx; union rtunion { int rt_int; rtx rt_rtx; }; struct rtx_def { struct { rtunion fld[1]; long long hwint; } u; }; rtx a, b, c; static bool fn1(rtx, rtx p2) { return p2->u.fld[0].rt_int; } void fn2() { if (c && c->u.fld[0].rt_rtx) ; else if (fn1(b, c)) c = a; } ICEs for me at -O2 -march=armv7-a -mfloat-abi=hard -mfpu=neon-vfpv4, for example