aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/gcc.target/aarch64/vect-fmaxv-fminv.x20
-rw-r--r--gcc/testsuite/gcc.target/aarch64/vect-vaddv.c4
-rw-r--r--gcc/testsuite/gcc.target/aarch64/vect-vmaxv.c2
3 files changed, 15 insertions, 11 deletions
diff --git a/gcc/testsuite/gcc.target/aarch64/vect-fmaxv-fminv.x b/gcc/testsuite/gcc.target/aarch64/vect-fmaxv-fminv.x
index 0bc6ba4..d3ba31c 100644
--- a/gcc/testsuite/gcc.target/aarch64/vect-fmaxv-fminv.x
+++ b/gcc/testsuite/gcc.target/aarch64/vect-fmaxv-fminv.x
@@ -5,8 +5,9 @@ typedef double *__restrict__ pRF64;
float maxv_f32 (pRF32 a)
{
int i;
- float s = a[0];
- for (i=1;i<8;i++)
+ float s;
+ asm ("" : "=w" (s) : "0" (a[0]));
+ for (i=0;i<8;i++)
s = (s > a[i] ? s : a[i]);
return s;
@@ -15,8 +16,9 @@ float maxv_f32 (pRF32 a)
float minv_f32 (pRF32 a)
{
int i;
- float s = a[0];
- for (i=1;i<16;i++)
+ float s;
+ asm ("" : "=w" (s) : "0" (a[0]));
+ for (i=0;i<16;i++)
s = (s < a[i] ? s : a[i]);
return s;
@@ -25,8 +27,9 @@ float minv_f32 (pRF32 a)
double maxv_f64 (pRF64 a)
{
int i;
- double s = a[0];
- for (i=1;i<8;i++)
+ double s;
+ asm ("" : "=w" (s) : "0" (a[0]));
+ for (i=0;i<8;i++)
s = (s > a[i] ? s : a[i]);
return s;
@@ -35,8 +38,9 @@ double maxv_f64 (pRF64 a)
double minv_f64 (pRF64 a)
{
int i;
- double s = a[0];
- for (i=1;i<16;i++)
+ double s;
+ asm ("" : "=w" (s) : "0" (a[0]));
+ for (i=0;i<16;i++)
s = (s < a[i] ? s : a[i]);
return s;
diff --git a/gcc/testsuite/gcc.target/aarch64/vect-vaddv.c b/gcc/testsuite/gcc.target/aarch64/vect-vaddv.c
index 41e9157..3a12ae9 100644
--- a/gcc/testsuite/gcc.target/aarch64/vect-vaddv.c
+++ b/gcc/testsuite/gcc.target/aarch64/vect-vaddv.c
@@ -57,8 +57,8 @@ test_vaddv##SUFFIX##_##TYPE##x##LANES##_t (void) \
/* Calculate linearly. */ \
for (i = 0; i < moves; i++) \
{ \
- out_l[i] = input_##TYPE[i]; \
- for (j = 1; j < LANES; j++) \
+ asm ("" : "=r" (out_l[i]) : "0" (0)); \
+ for (j = 0; j < LANES; j++) \
out_l[i] += input_##TYPE[i + j]; \
} \
\
diff --git a/gcc/testsuite/gcc.target/aarch64/vect-vmaxv.c b/gcc/testsuite/gcc.target/aarch64/vect-vmaxv.c
index 4280834..1bdea89 100644
--- a/gcc/testsuite/gcc.target/aarch64/vect-vmaxv.c
+++ b/gcc/testsuite/gcc.target/aarch64/vect-vmaxv.c
@@ -36,7 +36,7 @@ test_v##MAXMIN##v##SUFFIX##_##TYPE##x##LANES##_t (void) \
/* Calculate linearly. */ \
for (i = 0; i < moves; i++) \
{ \
- out_l[i] = input_##TYPE[i]; \
+ asm ("" : "=r" (out_l[i]) : "0" (input_##TYPE[i])); \
for (j = 0; j < LANES; j++) \
out_l[i] = input_##TYPE[i + j] CMP_OP out_l[i] ? \
input_##TYPE[i + j] : out_l[i]; \