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

Jeffrey A. Law <law at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2024-07-04
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1

--- Comment #3 from Jeffrey A. Law <law at gcc dot gnu.org> ---
Thanks.  Unfortunately GDB isn't dumping the vector regs, but I can make a
pretty good guess that this is an unaligned memory access.

=> 0x0000002aad0872a2 <record_value_for_reg(rtx, rtx_insn*, rtx)+584>: 
vsuxei64.v      v3,(a1),v1


That's the faulting instruction.  The value of a1 is:

a1             0x2aaee89f71     183323107185

So unless the vector of offsets in v1 brings the effective address to an
alignment boundary, we're looking at a store to an address that is not element
aligned.

This is a known issue with the k1/m1 cpu found in the bpi-f3.  It's also
rumored to affect the c908 found in the k230.  The various ISA specs allow this
behavior, but it's highly undesirable.

If you're using an released compiler (ie gcc-14.x.y) you might try
-mstrict-align.  If you're using a development compiler from the git repo, then
-mvector-strict-align might help.

Reply via email to