Hello Olga, On 14 Nov 09:56, Makhotina, Olga wrote: > 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? Your patch is OK for main trunk. I've checked it in. (I've removed trailing spaces from CL entries and limited to 80 chars).
-- Thanks, K > > Thanks, > Olga