diff options
Diffstat (limited to 'gcc/testsuite/gcc.target/i386/pr103771-6.c')
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr103771-6.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/i386/pr103771-6.c b/gcc/testsuite/gcc.target/i386/pr103771-6.c new file mode 100644 index 0000000..92de6f6 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr103771-6.c @@ -0,0 +1,16 @@ +/* { dg-do compile } */ +/* { dg-options "-march=x86-64-v4 -O3 -fno-trapping-math -fdump-tree-vect-details" } */ +/* { dg-final { scan-tree-dump-not "vect_recog_cond_expr_convert_pattern" "vect" } } */ +/* { dg-final { scan-tree-dump-times "loop vectorized using 64 byte vectors" 1 "vect" { target { ! ia32 } } } } */ + +void +foo (float* a, float* b, float* c, float* d, double* __restrict e, int n) +{ + for (int i = 0 ; i != n; i++) + { + double tmp = c[i] + d[i]; + if (a[i] < b[i]) + tmp = 1.000000000000001; + e[i] = tmp; + } +} |