summaryrefslogtreecommitdiffstats
path: root/gcc/config
diff options
context:
space:
mode:
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2010-11-10 23:00:01 +0000
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2010-11-10 23:00:01 +0000
commit850c7736799c4e5d80c45d4b895dc6051198178e (patch)
tree5a99f2f325a8058e017081f69c54ae9ad2063d6d /gcc/config
parent6bd9d862e29cd8444002527aba7daea833ab3e61 (diff)
downloadppe42-gcc-850c7736799c4e5d80c45d4b895dc6051198178e.tar.gz
ppe42-gcc-850c7736799c4e5d80c45d4b895dc6051198178e.zip
PR middle-end/46419
* config/i386/xmmintrin.h (_mm_cvtpi16_ps): Swap __hisi and __losi. (_mm_cvtpu16_ps): Ditto. testsuite/ChangeLog: PR target/46419 * gcc-target/i386/pr46419.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166569 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/i386/xmmintrin.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/config/i386/xmmintrin.h b/gcc/config/i386/xmmintrin.h
index 544577ecaf0..8bec3744035 100644
--- a/gcc/config/i386/xmmintrin.h
+++ b/gcc/config/i386/xmmintrin.h
@@ -626,13 +626,13 @@ _mm_cvtpi16_ps (__m64 __A)
__sign = __builtin_ia32_pcmpgtw ((__v4hi)0LL, (__v4hi)__A);
/* Convert the four words to doublewords. */
- __hisi = (__v2si) __builtin_ia32_punpckhwd ((__v4hi)__A, __sign);
__losi = (__v2si) __builtin_ia32_punpcklwd ((__v4hi)__A, __sign);
+ __hisi = (__v2si) __builtin_ia32_punpckhwd ((__v4hi)__A, __sign);
/* Convert the doublewords to floating point two at a time. */
__zero = (__v4sf) _mm_setzero_ps ();
- __ra = __builtin_ia32_cvtpi2ps (__zero, __hisi);
- __rb = __builtin_ia32_cvtpi2ps (__ra, __losi);
+ __ra = __builtin_ia32_cvtpi2ps (__zero, __losi);
+ __rb = __builtin_ia32_cvtpi2ps (__ra, __hisi);
return (__m128) __builtin_ia32_movlhps (__ra, __rb);
}
@@ -645,13 +645,13 @@ _mm_cvtpu16_ps (__m64 __A)
__v4sf __zero, __ra, __rb;
/* Convert the four words to doublewords. */
- __hisi = (__v2si) __builtin_ia32_punpckhwd ((__v4hi)__A, (__v4hi)0LL);
__losi = (__v2si) __builtin_ia32_punpcklwd ((__v4hi)__A, (__v4hi)0LL);
+ __hisi = (__v2si) __builtin_ia32_punpckhwd ((__v4hi)__A, (__v4hi)0LL);
/* Convert the doublewords to floating point two at a time. */
__zero = (__v4sf) _mm_setzero_ps ();
- __ra = __builtin_ia32_cvtpi2ps (__zero, __hisi);
- __rb = __builtin_ia32_cvtpi2ps (__ra, __losi);
+ __ra = __builtin_ia32_cvtpi2ps (__zero, __losi);
+ __rb = __builtin_ia32_cvtpi2ps (__ra, __hisi);
return (__m128) __builtin_ia32_movlhps (__ra, __rb);
}
OpenPOWER on IntegriCloud