aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-patterns.c
diff options
context:
space:
mode:
authorOlga Makhotina <olga.makhotina@intel.com>2018-02-12 06:09:20 +0000
committerKirill Yukhin <kyukhin@gcc.gnu.org>2018-02-12 06:09:20 +0000
commit158061a65bf2e68e44bc2f9622be41f57b0a47d0 (patch)
tree1c646ed6aa491b5290aa15e8cc7197e9aa553219 /gcc/tree-vect-patterns.c
parentba43b9fadd8b064023ab172db5a6e73027c8be44 (diff)
downloadgcc-158061a65bf2e68e44bc2f9622be41f57b0a47d0.zip
gcc-158061a65bf2e68e44bc2f9622be41f57b0a47d0.tar.gz
gcc-158061a65bf2e68e44bc2f9622be41f57b0a47d0.tar.bz2
Add missing mask[z]_scalef_round_s[d,s] intrinsics
gcc/ * config/i386/avx512fintrin.h (_mm_mask_scalef_round_sd, _mm_maskz_scalef_round_sd, _mm_mask_scalef_round_ss, _mm_maskz_scalef_round_ss): New intrinsics. (__builtin_ia32_scalefsd_round, __builtin_ia32_scalefss_round): Fix. * config/i386/i386-builtin.def (__builtin_ia32_scalefsd_round, __builtin_ia32_scalefss_round): Remove. (__builtin_ia32_scalefsd_mask_round, __builtin_ia32_scalefss_mask_round): New intrinsics. * config/i386/sse.md (vmscalef<mode><round_name>): Renamed to ... (vmscalef<mode><mask_scalar_name><round_scalar_name>): ... this. ((match_operand:VF_128 2 "<round_nimm_predicate>" "<round_constraint>")): Changed to ... ((match_operand:VF_128 2 "<round_scalar_nimm_predicate>" "<round_scalar_constraint>")): ... this. ("vscalef<ssescalarmodesuffix>\t{<round_op3>%2, %1, %0| %0, %1, %2<round_op3>}"): Changed to ... ("vscalef<ssescalarmodesuffix>\t{<round_scalar_mask_op3>%2, %1, %0<mask_scalar_operand3>|%0<mask_scalar_operand3>, %1, %2<round_scalar_mask_op3>}"): ... this. * config/i386/subst.md (round_scalar_nimm_predicate): New. gcc/testsuite/ * gcc.target/i386/avx512f-vscalefsd-1.c (_mm_mask_scalef_round_sd, _mm_maskz_scalef_round_sd): Test new intrinsics. * gcc.target/i386/avx512f-vscalefsd-2.c (_mm_scalef_round_sd, _mm_mask_scalef_round_sd, _mm_maskz_scalef_round_sd): Test new intrinsics. * gcc.target/i386/avx512f-vscalefss-1.c (_mm_mask_scalef_round_ss, _mm_maskz_scalef_round_ss): Test new intrinsics. * gcc.target/i386/avx512f-vscalefss-2.c (_mm_scalef_round_ss, _mm_mask_scalef_round_ss, _mm_maskz_scalef_round_ss): Test new intrinsics. * gcc.target/i386/avx-1.c (__builtin_ia32_scalefsd_round, __builtin_ia32_scalefss_round): Remove builtin. (__builtin_ia32_scalefsd_mask_round, __builtin_ia32_scalefss_mask_round): Test new builtin. * gcc.target/i386/sse-13.c: Ditto. * gcc.target/i386/sse-23.c: Ditto. From-SVN: r257578
Diffstat (limited to 'gcc/tree-vect-patterns.c')
0 files changed, 0 insertions, 0 deletions