On Thu, May 11, 2017 at 2:59 PM, Koval, Julia <julia.ko...@intel.com> wrote: >> Please macroize existing rsqrt14_<mode> pattern. > There is no existing macro to match this pattern - it is "mask first element > of vec_merge", instead of mask the whole vector.(SDM Vol. 2C 5-527) > https://software.intel.com/sites/default/files/managed/39/c5/325462-sdm-vol-1-2abcd-3abcd.pdf > I can create a new macro(patch attached), but I only know 2 of this type, so > I'm not sure if it is needed. Also I don't like (const_int 1) part of my > macro, but I don't know how I can save & use it as other operands.
OK, let's go with your original patch then. I'll commit it later today. Thanks, Uros. > -----Original Message----- > From: Uros Bizjak [mailto:ubiz...@gmail.com] > Sent: Thursday, May 11, 2017 11:25 AM > To: Koval, Julia <julia.ko...@intel.com> > Cc: GCC Patches <gcc-patches@gcc.gnu.org>; Kirill Yukhin > <kirill.yuk...@gmail.com> > Subject: Re: [PATCH][X86] Add missing intrinsics for VRSQRT14 > > On Thu, May 11, 2017 at 7:43 AM, Koval, Julia <julia.ko...@intel.com> wrote: >> Hi, >> >> These are 4 missing intrinsics for VRSQRT14 instruction. Ok for trunk? >> >> gcc/ >> * config/i386/avx512fintrin.h (_mm_mask_rsqrt14_sd, >> _mm_maskz_rsqrt14_sd, >> _mm_mask_rsqrt14_ss, _mm_maskz_rsqrt14_ss): New intrinsics. >> * config/i386/i386-builtin.def (__builtin_ia32_rsqrt14sd_mask, >> __builtin_ia32_rsqrt14ss_mask): New builtins. >> * config/i386/sse.md (rsqrt14_<mode>_mask): New pattern. > > Please macroize existing rsqrt14_<mode> pattern. > > BTW: Please also macroize srcp14<mode>_mask from your previous patch in the > same way. > > Thanks, > Uros. > >> gcc/testsuite/ >> * gcc.target/i386/avx512f-vrsqrt14sd-1.c: Test new intrinsics. >> * gcc.target/i386/avx512f-vrsqrt14sd-2.c: Ditto. >> * gcc.target/i386/avx512f-vrsqrt14ss-1.c: Ditto. >> * gcc.target/i386/avx512f-vrsqrt14ss-2.c: Ditto. >> >> Thanks, >> Julia