Skip to content
Snippets Groups Projects
Commit 326a8c04 authored by Christophe Lyon's avatar Christophe Lyon
Browse files

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

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.
parent 2287fa29
No related branches found
No related tags found
No related merge requests found
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
volatile int32x4_t c1; volatile int32x4_t c1;
volatile uint32x4_t c2; volatile uint32x4_t c2;
int *carry; int carry;
int int
main () main ()
...@@ -21,45 +21,45 @@ main () ...@@ -21,45 +21,45 @@ main ()
uint32x4_t inactive2 = vcreateq_u32 (0, 0); uint32x4_t inactive2 = vcreateq_u32 (0, 0);
mve_pred16_t p = 0xFFFF; mve_pred16_t p = 0xFFFF;
(*carry) = 0xFFFFFFFF; carry = 0xFFFFFFFF;
__builtin_arm_set_fpscr_nzcvqc (0); __builtin_arm_set_fpscr_nzcvqc (0);
c1 = vadcq (a1, b1, carry); c1 = vadcq (a1, b1, &carry);
if (__builtin_arm_get_fpscr_nzcvqc () & !0x20000000) if (__builtin_arm_get_fpscr_nzcvqc () & !0x20000000)
__builtin_abort (); __builtin_abort ();
(*carry) = 0xFFFFFFFF; carry = 0xFFFFFFFF;
__builtin_arm_set_fpscr_nzcvqc (0); __builtin_arm_set_fpscr_nzcvqc (0);
c2 = vadcq (a2, b2, carry); c2 = vadcq (a2, b2, &carry);
if (__builtin_arm_get_fpscr_nzcvqc () & !0x20000000) if (__builtin_arm_get_fpscr_nzcvqc () & !0x20000000)
__builtin_abort (); __builtin_abort ();
(*carry) = 0xFFFFFFFF; carry = 0xFFFFFFFF;
__builtin_arm_set_fpscr_nzcvqc (0); __builtin_arm_set_fpscr_nzcvqc (0);
c1 = vsbcq (a1, b1, carry); c1 = vsbcq (a1, b1, &carry);
if (__builtin_arm_get_fpscr_nzcvqc () & !0x20000000) if (__builtin_arm_get_fpscr_nzcvqc () & !0x20000000)
__builtin_abort (); __builtin_abort ();
(*carry) = 0xFFFFFFFF; carry = 0xFFFFFFFF;
__builtin_arm_set_fpscr_nzcvqc (0); __builtin_arm_set_fpscr_nzcvqc (0);
c2 = vsbcq (a2, b2, carry); c2 = vsbcq (a2, b2, &carry);
if (__builtin_arm_get_fpscr_nzcvqc () & !0x20000000) if (__builtin_arm_get_fpscr_nzcvqc () & !0x20000000)
__builtin_abort (); __builtin_abort ();
(*carry) = 0xFFFFFFFF; carry = 0xFFFFFFFF;
__builtin_arm_set_fpscr_nzcvqc (0); __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) if (__builtin_arm_get_fpscr_nzcvqc () & !0x20000000)
__builtin_abort (); __builtin_abort ();
(*carry) = 0xFFFFFFFF; carry = 0xFFFFFFFF;
__builtin_arm_set_fpscr_nzcvqc (0); __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) if (__builtin_arm_get_fpscr_nzcvqc () & !0x20000000)
__builtin_abort (); __builtin_abort ();
(*carry) = 0xFFFFFFFF; carry = 0xFFFFFFFF;
__builtin_arm_set_fpscr_nzcvqc (0); __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) if (__builtin_arm_get_fpscr_nzcvqc () & !0x20000000)
__builtin_abort (); __builtin_abort ();
(*carry) = 0xFFFFFFFF; carry = 0xFFFFFFFF;
__builtin_arm_set_fpscr_nzcvqc (0); __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) if (__builtin_arm_get_fpscr_nzcvqc () & !0x20000000)
__builtin_abort (); __builtin_abort ();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment