diff options
author | Uros Bizjak <uros@gcc.gnu.org> | 2008-03-08 23:05:42 +0100 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2008-03-08 23:05:42 +0100 |
commit | 8c729fb26f69579c12c89724faff934c961b0952 (patch) | |
tree | ba78f1c6c4c831f0922a69403cb9c50ce0bc32f9 | |
parent | fc9161c19fe6c9301224cc856ea2d29561364e46 (diff) | |
download | gcc-8c729fb26f69579c12c89724faff934c961b0952.zip gcc-8c729fb26f69579c12c89724faff934c961b0952.tar.gz gcc-8c729fb26f69579c12c89724faff934c961b0952.tar.bz2 |
sse2-mmx.c (unsigned_add3): Use _mm_setzero_si64 to zero carry.
* gcc.target/i386/sse2-mmx.c (unsigned_add3): Use _mm_setzero_si64
to zero carry.
From-SVN: r133043
-rw-r--r-- | gcc/testsuite/gcc.target/i386/sse2-mmx.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/testsuite/gcc.target/i386/sse2-mmx.c b/gcc/testsuite/gcc.target/i386/sse2-mmx.c index cc2381e..ca375cb 100644 --- a/gcc/testsuite/gcc.target/i386/sse2-mmx.c +++ b/gcc/testsuite/gcc.target/i386/sse2-mmx.c @@ -23,10 +23,10 @@ unsigned_add3 (const __m64 * a, const __m64 * b, unsigned int i; - one = _mm_cmpeq_pi8 (_a, _a); - one = _mm_sub_si64 (_mm_xor_si64 (one, one), one); + carry = _mm_setzero_si64 (); - carry = _mm_xor_si64 (one, one); + one = _mm_cmpeq_pi8 (carry, carry); + one = _mm_sub_si64 (carry, one); for (i = 0; i < count; i++) { @@ -49,7 +49,6 @@ unsigned_add3 (const __m64 * a, const __m64 * b, carry = _mm_srli_si64 (carry, 63); } - _mm_empty (); return carry; } @@ -66,6 +65,8 @@ sse2_test (void) carry = (unsigned long long) unsigned_add3 ((__m64 *)a, (__m64 *)b, (__m64 *)result, N); + _mm_empty (); + if (carry != 1) abort (); |