Ping? Le lun. 2 oct. 2023, 10:23, Christophe Lyon <christophe.l...@linaro.org> a écrit :
> ping? maybe this counts as obvious? > > > On Thu, 14 Sept 2023 at 11:13, Christophe Lyon <christophe.l...@linaro.org> > wrote: > >> 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 >>> >>>