summaryrefslogtreecommitdiff
path: root/gcc/config/i386/avx512fintrin.h
diff options
context:
space:
mode:
authorIlya Tocar <ilya.tocar@intel.com>2014-02-20 06:26:38 +0000
committerKirill Yukhin <kyukhin@gcc.gnu.org>2014-02-20 06:26:38 +0000
commitdf62b4af2e7f921ee6adb2a70f62f6c3846139d0 (patch)
treea5db3a8897ee4547063dd5e963c11dbe4c4b9f1d /gcc/config/i386/avx512fintrin.h
parenta13cfd3e9bca793f3c6efd75eb10b654c3ebd41f (diff)
downloadgcc-df62b4af2e7f921ee6adb2a70f62f6c3846139d0.tar.gz
avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.
gcc/ * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands. (_mm_rcp28_round_ss): Ditto. (_mm_rsqrt28_round_sd): Ditto. (_mm_rsqrt28_round_ss): Ditto. * config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto. (_mm_rcp14_round_ss): Ditto. (_mm_rsqrt14_round_sd): Ditto. (_mm_rsqrt14_round_ss): Ditto. * config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as the first input operand, get rid of match_dup. (avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type attribute to sse. (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>): Ditto. (avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate operand as the first input operand, set type attribute. (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>): Set type attribute. (avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate operand as the first input operand, set type attribute. testsuite/gcc/ * gcc.target/i386/avx512er-vrcp28sd-2.c: Distinguish src1 and src2. * gcc.target/i386/avx512er-vrcp28ss-2.c: Call correct intrinsic. * gcc.target/i386/avx512er-vrsqrt28sd-2.c: Distinguish src1 and src2. * gcc.target/i386/avx512er-vrsqrt28ss-2.c: Ditto. * gcc.target/i386/avx512f-vrcp14sd-2.c: Fix reference calculation. * gcc.target/i386/avx512f-vrcp14ss-2.c: Fix reference calculation. Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com> From-SVN: r207932
Diffstat (limited to 'gcc/config/i386/avx512fintrin.h')
-rw-r--r--gcc/config/i386/avx512fintrin.h16
1 files changed, 8 insertions, 8 deletions
diff --git a/gcc/config/i386/avx512fintrin.h b/gcc/config/i386/avx512fintrin.h
index b3a4f3a41ff..65a49c5c1f3 100644
--- a/gcc/config/i386/avx512fintrin.h
+++ b/gcc/config/i386/avx512fintrin.h
@@ -1470,16 +1470,16 @@ extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rcp14_sd (__m128d __A, __m128d __B)
{
- return (__m128d) __builtin_ia32_rcp14sd ((__v2df) __A,
- (__v2df) __B);
+ return (__m128d) __builtin_ia32_rcp14sd ((__v2df) __B,
+ (__v2df) __A);
}
extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rcp14_ss (__m128 __A, __m128 __B)
{
- return (__m128) __builtin_ia32_rcp14ss ((__v4sf) __A,
- (__v4sf) __B);
+ return (__m128) __builtin_ia32_rcp14ss ((__v4sf) __B,
+ (__v4sf) __A);
}
extern __inline __m512d
@@ -1544,16 +1544,16 @@ extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rsqrt14_sd (__m128d __A, __m128d __B)
{
- return (__m128d) __builtin_ia32_rsqrt14sd ((__v2df) __A,
- (__v2df) __B);
+ return (__m128d) __builtin_ia32_rsqrt14sd ((__v2df) __B,
+ (__v2df) __A);
}
extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rsqrt14_ss (__m128 __A, __m128 __B)
{
- return (__m128) __builtin_ia32_rsqrt14ss ((__v4sf) __A,
- (__v4sf) __B);
+ return (__m128) __builtin_ia32_rsqrt14ss ((__v4sf) __B,
+ (__v4sf) __A);
}
#ifdef __OPTIMIZE__