aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2011-02-21 20:59:52 +0100
committerUros Bizjak <uros@gcc.gnu.org>2011-02-21 20:59:52 +0100
commit23e0d9301971df49e1b283e948a548faf0d3facd (patch)
tree3d7aedb66e9309f17f2bf184b9ca9e6ffaf29856 /gcc/config
parent11c9e8f1db33c5aa3aae3b2400f3386bc05e740a (diff)
downloadgcc-23e0d9301971df49e1b283e948a548faf0d3facd.zip
gcc-23e0d9301971df49e1b283e948a548faf0d3facd.tar.gz
gcc-23e0d9301971df49e1b283e948a548faf0d3facd.tar.bz2
re PR target/47840 (incorrect _mm256_insert_epi{32,64} implementations)
PR target/47840 * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32. (_mm256_insert_epi64): Use _mm_insert_epi64. From-SVN: r170371
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/i386/avxintrin.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/config/i386/avxintrin.h b/gcc/config/i386/avxintrin.h
index 70bfce1..8055cc6 100644
--- a/gcc/config/i386/avxintrin.h
+++ b/gcc/config/i386/avxintrin.h
@@ -737,7 +737,7 @@ extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __arti
_mm256_insert_epi32 (__m256i __X, int __D, int const __N)
{
__m128i __Y = _mm256_extractf128_si256 (__X, __N >> 2);
- __Y = _mm_insert_epi16 (__Y, __D, __N % 4);
+ __Y = _mm_insert_epi32 (__Y, __D, __N % 4);
return _mm256_insertf128_si256 (__X, __Y, __N >> 2);
}
@@ -762,7 +762,7 @@ extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __arti
_mm256_insert_epi64 (__m256i __X, int __D, int const __N)
{
__m128i __Y = _mm256_extractf128_si256 (__X, __N >> 1);
- __Y = _mm_insert_epi16 (__Y, __D, __N % 2);
+ __Y = _mm_insert_epi64 (__Y, __D, __N % 2);
return _mm256_insertf128_si256 (__X, __Y, __N >> 1);
}
#endif