Re: [PATCH][X86] Add missing intrinsics for VRSQRT14
On Thu, May 11, 2017 at 2:59 PM, Koval, Julia 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 > Cc: GCC Patches ; Kirill Yukhin > > Subject: Re: [PATCH][X86] Add missing intrinsics for VRSQRT14 > > On Thu, May 11, 2017 at 7:43 AM, Koval, Julia 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 Cc: GCC Patches ; Kirill Yukhin Subject: Re: [PATCH][X86] Add missing intrinsics for VRSQRT14 On Thu, May 11, 2017 at 7:43 AM, Koval, Julia 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, Julia 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
[PATCH][X86] Add missing intrinsics for VRSQRT14
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. 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-rsqrt14.patch Description: 0001-rsqrt14.patch