https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70130
Alan Modra <amodra at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |NEW --- Comment #8 from Alan Modra <amodra at gmail dot com> --- Confirmed. So with "images" (the ImageParameters struct) 16-byte aligned, the misaligned code path is taken through Loop_err. With images not 16-byte aligned, img->mprr_2 *is* 16-byte aligned, and we take the vectorized code path. Which is buggy. This is the first difference in img->mprr2 on exit from Loop_err, "images" aligned case, ie. non-vectorized (gdb) 0x1012e548 <images+5528>: 0xd710d710 (gdb) 0x1012e54c <images+5532>: 0xd710d710 (gdb) 0x1012e550 <images+5536>: 0xd710d710 (gdb) 0x1012e554 <images+5540>: 0xd710d710 (gdb) 0x1012e558 <images+5544>: 0xd710d710 (gdb) 0x1012e55c <images+5548>: 0xd710d710 (gdb) 0x1012e560 <images+5552>: 0xd710d710 (gdb) 0x1012e564 <images+5556>:0xd710d710 versus "images" not aligned, ie. taking vectorized path (gdb) 0x1012e540 <images+5528>: 0x00000000 (gdb) 0x1012e544 <images+5532>: 0x00000000 (gdb) 0x1012e548 <images+5536>: 0x00000000 (gdb) 0x1012e54c <images+5540>: 0x00000000 (gdb) 0x1012e550 <images+5544>: 0x00000000 (gdb) 0x1012e554 <images+5548>: 0x00000000 (gdb) 0x1012e558 <images+5552>: 0x00000000 (gdb) 0x1012e55c <images+5556>: 0x00000000 This is img->mprr_2[1][7][0..15]