diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2017-05-11 17:41:50 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2017-05-11 17:41:50 +0200 |
commit | cc09ff603becdabd716421a65a88ad91b075bce8 (patch) | |
tree | 3f595bc2c6ecbbca9b4a3458c3d0beca7308d618 /gcc | |
parent | 75ad901a7a1d9c1167c3bd0978d1330f9838cea0 (diff) | |
download | gcc-cc09ff603becdabd716421a65a88ad91b075bce8.zip gcc-cc09ff603becdabd716421a65a88ad91b075bce8.tar.gz gcc-cc09ff603becdabd716421a65a88ad91b075bce8.tar.bz2 |
pr22152.c: Fix undefined testcase.
* gcc.target/i386/pr22152.c: Fix undefined testcase. Remove
unnecessary loop. Run on 32-bit targets only.
(dg-options): Remove -fno-tree-sink.
From-SVN: r247914
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr22152.c | 15 |
2 files changed, 14 insertions, 7 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 411996f..9ab52c2 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2017-05-11 Uros Bizjak <ubizjak@gmail.com> + + * gcc.target/i386/pr22152.c: Fix undefined testcase. Remove + unnecessary loop. Run on 32-bit targets only. + (dg-options): Remove -fno-tree-sink. + 2017-05-11 Kelvin Nilsen <kelvin@gcc.gnu.org> * gcc.target/powerpc/cmpb-1.c: New test. diff --git a/gcc/testsuite/gcc.target/i386/pr22152.c b/gcc/testsuite/gcc.target/i386/pr22152.c index 8603b09..08f98c3 100644 --- a/gcc/testsuite/gcc.target/i386/pr22152.c +++ b/gcc/testsuite/gcc.target/i386/pr22152.c @@ -1,18 +1,19 @@ -/* { dg-do compile } */ -/* { dg-options "-O2 -fno-tree-sink -msse2 -mtune=core2" } */ +/* { dg-do compile { target ia32 } } */ +/* { dg-options "-O2 -msse2 -mtune=core2" } */ /* { dg-additional-options "-mno-vect8-ret-in-mem" { target *-*-vxworks* } } */ /* { dg-additional-options "-mabi=sysv" { target x86_64-*-mingw* } } */ #include <mmintrin.h> +typedef __SIZE_TYPE__ size_t; + __m64 -unsigned_add3 (const __m64 * a, const __m64 * b, unsigned int count) +unsigned_add3 (const __m64 * a, const __m64 * b, size_t count) { - __m64 sum; - unsigned int i; + __m64 sum = { 0, 0 }; - for (i = 1; i < count; i++) - sum = _mm_add_si64 (a[i], b[i]); + if (count > 0) + sum = _mm_add_si64 (a[count-1], b[count-1]); return sum; } |