https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119519
Alexey Merzlyakov <alexey.merzlyakov at samsung dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |alexey.merzlyakov at samsung dot c | |om --- Comment #3 from Alexey Merzlyakov <alexey.merzlyakov at samsung dot com> --- Confirm: the problem disappears on trunk since the r15-655-g88b3f83238087c commit. Test-case from current ticket might be c-reduced to something like: struct B { float min; float max; }; struct B gl; void foo() { int out; struct B b; while (1) { b.min = gl.min; b.max = gl.max; __builtin_memcpy (&((char *) out)[0], &b.min, sizeof(b.min)); __builtin_memcpy (&((char *) out)[1], &b.max, sizeof(b.max)); } } Which looks very familiar with the given in the patch bug-6.c testcase. So, this seem to be related to the fixed above ICE.