Re: [PATCH][X86] Add missing intrinsics for VRSQRT14
On Thu, May 11, 2017 at 2:59 PM, Koval, Julia <julia.ko...@intel.com> wrote: >> Please macroize existing rsqrt14_ 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__mask): New pattern. > > Please macroize existing rsqrt14_ pattern. > > BTW: Please also macroize srcp14_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
RE: [PATCH][X86] Add missing intrinsics for VRSQRT14
> Please macroize existing rsqrt14_ 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. -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__mask): New pattern. Please macroize existing rsqrt14_ pattern. BTW: Please also macroize srcp14_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 0001-pattern.patch Description: 0001-pattern.patch
Re: [PATCH][X86] Add missing intrinsics for VRSQRT14
On Thu, May 11, 2017 at 7:43 AM, Koval, Juliawrote: > 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__mask): New pattern. Please macroize existing rsqrt14_ pattern. BTW: Please also macroize srcp14_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