diff options
author | Alexander Ivchenko <alexander.ivchenko@intel.com> | 2014-10-28 14:01:00 +0000 |
---|---|---|
committer | Kirill Yukhin <kyukhin@gcc.gnu.org> | 2014-10-28 14:01:00 +0000 |
commit | a40be84c87e346b41c6086a11fc8ccf74e011687 (patch) | |
tree | 20bf1fbb6b53675cc7bf8393f105d9046d42bd8a /gcc | |
parent | e29588cc59ac77da2cdc9792112e3a5710207b32 (diff) | |
download | gcc-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/ChangeLog | 13 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 3 |
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: |