aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2017-05-11 17:41:50 +0200
committerUros Bizjak <uros@gcc.gnu.org>2017-05-11 17:41:50 +0200
commitcc09ff603becdabd716421a65a88ad91b075bce8 (patch)
tree3f595bc2c6ecbbca9b4a3458c3d0beca7308d618 /gcc
parent75ad901a7a1d9c1167c3bd0978d1330f9838cea0 (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--gcc/testsuite/gcc.target/i386/pr22152.c15
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;
}