Hi, Attachment got lost by accident. Attaching it again.
Thanks, Olga -----Original Message----- From: Makhotina, Olga Sent: Tuesday, November 14, 2017 10:49 AM To: gcc-patches@gcc.gnu.org Cc: Uros Bizjak <ubiz...@gmail.com>; Kirill Yukhin <kirill.yuk...@gmail.com>; Makhotina, Olga <olga.makhot...@intel.com>; Peryt, Sebastian <sebastian.pe...@intel.com> Subject: [patch][i386, AVX] Adding missing mask[z]_scalef_round_s[d,s] intrinsics Hi, This patch adds missing intrinsics for _mm_mask[z]_scalef_round_[sd,ss]. 14.11.2017 Olga Makhotina <olga.makhot...@intel.com> 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. 14.11.2017 Olga Makhotina <olga.makhot...@intel.com> 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. Is it ok for trunk? Thanks, Olga
0001-mask-z-_scalef_round_s-s-d.patch
Description: 0001-mask-z-_scalef_round_s-s-d.patch