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?