https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118976

--- Comment #2 from Luke Robison <lrbison at amazon dot com> ---
In particular I believe the error occurs because of the following sequence of
instructions.  Looking at line numbers form the compiler explorer output of
14.2

In the first block line 8:

        index   z31.s, #-1, #-1

This generates a vector of {-1, -2, -3, -4, -5, -6, -7 -8} on 256-bit vector
machines, and only {-1, -2, -3, -4} on 128-bits.

Then for 128-bit machines, the vector is generated again for the second half on
line 20, and then manipulated into negative values {-4, -5, -6, -7}

        index   z29.s, w3, #-1

But clearly the values should be {-5, -6, -7 -8}, and hence the resulting data
is shifted by one.

Reply via email to