aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAlexander Ivchenko <alexander.ivchenko@intel.com>2014-10-28 14:01:00 +0000
committerKirill Yukhin <kyukhin@gcc.gnu.org>2014-10-28 14:01:00 +0000
commita40be84c87e346b41c6086a11fc8ccf74e011687 (patch)
tree20bf1fbb6b53675cc7bf8393f105d9046d42bd8a /gcc
parente29588cc59ac77da2cdc9792112e3a5710207b32 (diff)
downloadgcc-a40be84c87e346b41c6086a11fc8ccf74e011687.zip
gcc-a40be84c87e346b41c6086a11fc8ccf74e011687.tar.gz
gcc-a40be84c87e346b41c6086a11fc8ccf74e011687.tar.bz2
AVX-512. 84/n. Add missing immediate checks.
gcc/ * config/i386/i386.c (ix86_expand_args_builtin): Handle avx_vpermilv4df_mask, avx_shufpd256_mask, avx_vpermilv2df_mask. Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com> Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com> Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com> Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com> Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com> Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com> Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com> From-SVN: r216797
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog13
-rw-r--r--gcc/config/i386/i386.c3
2 files changed, 16 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e0c27a2..a7da6e7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -8,6 +8,19 @@
Michael Zolotukhin <michael.v.zolotukhin@intel.com>
* config/i386/i386.c
+ (ix86_expand_args_builtin): Handle avx_vpermilv4df_mask,
+ avx_shufpd256_mask, avx_vpermilv2df_mask.
+
+2014-10-28 Alexander Ivchenko <alexander.ivchenko@intel.com>
+ Maxim Kuznetsov <maxim.kuznetsov@intel.com>
+ Anna Tikhonova <anna.tikhonova@intel.com>
+ Ilya Tocar <ilya.tocar@intel.com>
+ Andrey Turetskiy <andrey.turetskiy@intel.com>
+ Ilya Verbin <ilya.verbin@intel.com>
+ Kirill Yukhin <kirill.yukhin@intel.com>
+ Michael Zolotukhin <michael.v.zolotukhin@intel.com>
+
+ * config/i386/i386.c
(ix86_init_mmx_sse_builtins):
Define __builtin_ia32_gather3siv2df, __builtin_ia32_gather3siv4df,
__builtin_ia32_gather3div2df, __builtin_ia32_gather3div4df,
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 8148b11..71a4f6a 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -36630,6 +36630,7 @@ ix86_expand_args_builtin (const struct builtin_description *d,
case CODE_FOR_sse4_1_blendps:
case CODE_FOR_avx_blendpd256:
case CODE_FOR_avx_vpermilv4df:
+ case CODE_FOR_avx_vpermilv4df_mask:
case CODE_FOR_avx512f_getmantv8df_mask:
case CODE_FOR_avx512f_getmantv16sf_mask:
case CODE_FOR_avx512vl_getmantv8sf_mask:
@@ -36642,12 +36643,14 @@ ix86_expand_args_builtin (const struct builtin_description *d,
case CODE_FOR_avx512dq_rangepv8sf_mask:
case CODE_FOR_avx512dq_rangepv2df_mask:
case CODE_FOR_avx512dq_rangepv4sf_mask:
+ case CODE_FOR_avx_shufpd256_mask:
error ("the last argument must be a 4-bit immediate");
return const0_rtx;
case CODE_FOR_sha1rnds4:
case CODE_FOR_sse4_1_blendpd:
case CODE_FOR_avx_vpermilv2df:
+ case CODE_FOR_avx_vpermilv2df_mask:
case CODE_FOR_xop_vpermil2v2df3:
case CODE_FOR_xop_vpermil2v4sf3:
case CODE_FOR_xop_vpermil2v4df3: