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]