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

avieira at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |avieira at gcc dot gnu.org

--- Comment #7 from avieira at gcc dot gnu.org ---
Hi,

I am seeing this same fault cause a wrong-code gen on gcc-9 with the code
below:


void foo(uint16_t *dest, uint16x8_t a, unsigned long long stride)
{
   int i = 3;
   stride >>= 1;
   do {
     vst1_u16(dest, vget_low_u16(a));
     dest += stride;
     i = i - 1;
   } while (i != 0);
}

leading to:
foo:
        vst1.16 {d0}, [r0], r0
        vst1.16 {d0}, [r0], r0
        vst1.16 {d0}, [r0]
        bx      lr

which is obviously wrong. Can we backport this to gcc-9?

Reply via email to