aboutsummaryrefslogtreecommitdiff
path: root/gcc/cgraphclones.c
diff options
context:
space:
mode:
authorAlexander Ivchenko <alexander.ivchenko@intel.com>2014-09-10 06:28:03 +0000
committerKirill Yukhin <kyukhin@gcc.gnu.org>2014-09-10 06:28:03 +0000
commite274629ef852151bc3cf9c2b1547ff2108dd3d75 (patch)
tree35223e7b2d9b943f84a5c42c0032c7d119b75b4a /gcc/cgraphclones.c
parent0876bdf57b6d7a6920723e41952ea1ab7f2503dc (diff)
downloadgcc-e274629ef852151bc3cf9c2b1547ff2108dd3d75.zip
gcc-e274629ef852151bc3cf9c2b1547ff2108dd3d75.tar.gz
gcc-e274629ef852151bc3cf9c2b1547ff2108dd3d75.tar.bz2
AVX-512. Extend FMA patterns.
gcc/ * config/i386/sse.md (define_mode_iterator VF_AVX512VL): New. (define_mode_iterator FMAMODEM): Allow 128/256bit EVEX version. (define_mode_iterator FMAMODE_AVX512): New. (define_mode_iterator FMAMODE): Remove conditions. (define_expand "fma4i_fmadd_<mode>"): Use FMAMODE_AVX512 mode iterator. (define_expand "<avx512>_fmadd_<mode>_maskz<round_expand_name>"): Rename from "<avx512>_fmadd_<mode>_maskz<round_expand_name>" and use VF_AVX512VL mode iterator. (define_mode_iterator FMAMODE_NOVF512): Remove. (define_insn "*fma_fmadd_<mode>"): Rename from "<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name><round_name>" and use FMAMODE mode iterator. (define_mode_iterator VF_SF_AVX512VL): New. (define_insn "<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name><round_name>"): Use VF_SF_AVX512VL mode iterator. (define_insn "<avx512>_fmadd_<mode>_mask<round_name>"): Rename from "avx512f_fmadd_<mode>_mask<round_name>" and use VF_AVX512VL mode iterator. (define_insn "<avx512>_fmadd_<mode>_mask3<round_name>"): Rename from "avx512f_fmadd_<mode>_mask3<round_name>" and use VF_AVX512VL mode iterator. (define_insn "*fma_fmsub_<mode>"): Rename from "<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name><round_name>" and use FMAMODE mode iterator. (define_insn "<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name><round_name>"): Use VF_SF_AVX512VL mode iterator. (define_insn "<avx512>_fmsub_<mode>_mask<round_name>"): Rename from "avx512f_fmsub_<mode>_mask<round_name>" and use VF_AVX512VL mode iterator. (define_insn "<avx512>_fmsub_<mode>_mask3<round_name>"): Rename from "avx512f_fmsub_<mode>_mask3<round_name>" and use VF_AVX512VL mode iterator. (define_insn "*fma_fnmadd_<mode>"): Rename from "<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name><round_name>" and use FMAMODE mode iterator. (define_insn "<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name><round_name>"): Use VF_SF_AVX512VL mode iterator. (define_insn "<avx512>_fnmadd_<mode>_mask<round_name>"): Rename from "avx512f_fnmadd_<mode>_mask<round_name>" and use VF_AVX512VL mode iterator. (define_insn "<avx512>_fnmadd_<mode>_mask3<round_name>"): Rename from "avx512f_fnmadd_<mode>_mask3<round_name>" and use VF_AVX512VL mode iterator. (define_insn "*fma_fnmsub_<mode>"): Rename from "<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name><round_name>" and use FMAMODE mode iterator. (define_insn "<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name><round_name>"): Use VF_SF_AVX512VL mode iterator. (define_insn "<avx512>_fnmsub_<mode>_mask<round_name>"): Rename from "avx512f_fnmsub_<mode>_mask<round_name>" and use VF_AVX512VL mode iterator. (define_insn "<avx512>_fnmsub_<mode>_mask3<round_name>"): Rename from "avx512f_fnmsub_<mode>_mask3<round_name>" and use VF_AVX512VL mode iterator. (define_expand "<avx512>_fmaddsub_<mode>_maskz<round_expand_name>"): Rename from "avx512f_fmaddsub_<mode>_maskz<round_expand_name>" and use VF_AVX512VL mode iterator. (define_insn "*fma_fmaddsub_<mode>"): Rename from "<sd_mask_codefor>fma_fmaddsub_<mode><sd_maskz_name><round_name>" and remove subst usage. (define_insn "<sd_mask_codefor>fma_fmaddsub_<mode><sd_maskz_name><round_name>"): Use VF_SF_AVX512VL mode iterator. (define_insn "<avx512>_fmaddsub_<mode>_mask<round_name>"): Rename from "avx512f_fmaddsub_<mode>_mask<round_name>" and use VF_AVX512VL mode iterator. (define_insn "<avx512>_fmaddsub_<mode>_mask3<round_name>"): Rename from "avx512f_fmaddsub_<mode>_mask3<round_name>" and use VF_AVX512VL mode iterator. (define_insn "*fma_fmsubadd_<mode>"): Rename from "<sd_mask_codefor>fma_fmsubadd_<mode><sd_maskz_name><round_name>" and remove usage of subst. (define_insn "<sd_mask_codefor>fma_fmsubadd_<mode><sd_maskz_name><round_name>"): Use VF_SF_AVX512VL mode iterator. (define_insn "<avx512>_fmsubadd_<mode>_mask<round_name>"): Rename from "avx512f_fmsubadd_<mode>_mask<round_name>" and use VF_AVX512VL mode iterator. (define_insn "<avx512>_fmsubadd_<mode>_mask3<round_name>"): Rename from "avx512f_fmsubadd_<mode>_mask3<round_name>" and use VF_AVX512VL mode iterator. 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: r215104
Diffstat (limited to 'gcc/cgraphclones.c')
0 files changed, 0 insertions, 0 deletions