]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
testsuite: Fix gcc.target/arm/mve/mve_vadcq_vsbcq_fpscr_overwrite.c
authorChristophe Lyon <christophe.lyon@linaro.org>
Fri, 8 Sep 2023 08:38:10 +0000 (08:38 +0000)
committerChristophe Lyon <christophe.lyon@linaro.org>
Tue, 24 Oct 2023 14:18:47 +0000 (14:18 +0000)
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.lyon@linaro.org>

gcc/testsuite/
* gcc.target/arm/mve/mve_vadcq_vsbcq_fpscr_overwrite.c: Fix.

gcc/testsuite/gcc.target/arm/mve/mve_vadcq_vsbcq_fpscr_overwrite.c

index a8c6cce67c8e069edb952176e20f153104be6c39..931c9d2f30bcb08fdb4f15f851603f34cf5e8e57 100644 (file)
@@ -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 ();