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

--- Comment #7 from Pat Haugen <pthaugen at gcc dot gnu.org> ---
So the problem is that we're generating a stxvw4x insn to write to memory,
which corrupts the contents due to both endian behavior and element size (since
we're dealing with halfword/uint16_t elements).

Value in vector reg = 0x0000ffff0002fffcffff0002fff5000e

stvx/good
(gdb) x/8hx $r1+$r8
0x7fffffffe490: 0x000e  0xfff5  0x0002  0xffff  0xfffc  0x0002  0xffff  0x0000


stxvw4x/bad
(gdb) x/8hx $r7+$r8
0x7fffffffe470: 0xffff  0x0000  0xfffc  0x0002  0x0002  0xffff  0x000e  0xfff5

Reply via email to