ping? On Fri, 8 Sept 2023 at 10:43, Christophe Lyon <christophe.l...@linaro.org> wrote:
> The test was declaring 'int *carry;' and wrote to '*carry' without > initializing 'carry' first, leading to an attempt to write at address > zero, and a crash. > > Fix by declaring 'int carry;' and passing '&carrry' instead of 'carry' > as parameter. > > 2023-09-08 Christophe Lyon <christophe.l...@linaro.org> > > gcc/testsuite/ > * gcc.target/arm/mve/mve_vadcq_vsbcq_fpscr_overwrite.c: Fix. > --- > .../arm/mve/mve_vadcq_vsbcq_fpscr_overwrite.c | 34 +++++++++---------- > 1 file changed, 17 insertions(+), 17 deletions(-) > > diff --git > a/gcc/testsuite/gcc.target/arm/mve/mve_vadcq_vsbcq_fpscr_overwrite.c > b/gcc/testsuite/gcc.target/arm/mve/mve_vadcq_vsbcq_fpscr_overwrite.c > index a8c6cce67c8..931c9d2f30b 100644 > --- a/gcc/testsuite/gcc.target/arm/mve/mve_vadcq_vsbcq_fpscr_overwrite.c > +++ b/gcc/testsuite/gcc.target/arm/mve/mve_vadcq_vsbcq_fpscr_overwrite.c > @@ -7,7 +7,7 @@ > > volatile int32x4_t c1; > volatile uint32x4_t c2; > -int *carry; > +int carry; > > int > main () > @@ -21,45 +21,45 @@ main () > uint32x4_t inactive2 = vcreateq_u32 (0, 0); > > mve_pred16_t p = 0xFFFF; > - (*carry) = 0xFFFFFFFF; > + carry = 0xFFFFFFFF; > > __builtin_arm_set_fpscr_nzcvqc (0); > - c1 = vadcq (a1, b1, carry); > + c1 = vadcq (a1, b1, &carry); > if (__builtin_arm_get_fpscr_nzcvqc () & !0x20000000) > __builtin_abort (); > - (*carry) = 0xFFFFFFFF; > + carry = 0xFFFFFFFF; > __builtin_arm_set_fpscr_nzcvqc (0); > - c2 = vadcq (a2, b2, carry); > + c2 = vadcq (a2, b2, &carry); > if (__builtin_arm_get_fpscr_nzcvqc () & !0x20000000) > __builtin_abort (); > - (*carry) = 0xFFFFFFFF; > + carry = 0xFFFFFFFF; > __builtin_arm_set_fpscr_nzcvqc (0); > - c1 = vsbcq (a1, b1, carry); > + c1 = vsbcq (a1, b1, &carry); > if (__builtin_arm_get_fpscr_nzcvqc () & !0x20000000) > __builtin_abort (); > - (*carry) = 0xFFFFFFFF; > + carry = 0xFFFFFFFF; > __builtin_arm_set_fpscr_nzcvqc (0); > - c2 = vsbcq (a2, b2, carry); > + c2 = vsbcq (a2, b2, &carry); > if (__builtin_arm_get_fpscr_nzcvqc () & !0x20000000) > __builtin_abort (); > - (*carry) = 0xFFFFFFFF; > + carry = 0xFFFFFFFF; > __builtin_arm_set_fpscr_nzcvqc (0); > - c1 = vadcq_m (inactive1, a1, b1, carry, p); > + c1 = vadcq_m (inactive1, a1, b1, &carry, p); > if (__builtin_arm_get_fpscr_nzcvqc () & !0x20000000) > __builtin_abort (); > - (*carry) = 0xFFFFFFFF; > + carry = 0xFFFFFFFF; > __builtin_arm_set_fpscr_nzcvqc (0); > - c2 = vadcq_m (inactive2, a2, b2, carry, p); > + c2 = vadcq_m (inactive2, a2, b2, &carry, p); > if (__builtin_arm_get_fpscr_nzcvqc () & !0x20000000) > __builtin_abort (); > - (*carry) = 0xFFFFFFFF; > + carry = 0xFFFFFFFF; > __builtin_arm_set_fpscr_nzcvqc (0); > - c1 = vsbcq_m (inactive1, a1, b1, carry, p); > + c1 = vsbcq_m (inactive1, a1, b1, &carry, p); > if (__builtin_arm_get_fpscr_nzcvqc () & !0x20000000) > __builtin_abort (); > - (*carry) = 0xFFFFFFFF; > + carry = 0xFFFFFFFF; > __builtin_arm_set_fpscr_nzcvqc (0); > - c2 = vsbcq_m (inactive2, a2, b2, carry, p); > + c2 = vsbcq_m (inactive2, a2, b2, &carry, p); > if (__builtin_arm_get_fpscr_nzcvqc () & !0x20000000) > __builtin_abort (); > > -- > 2.34.1 > >