> 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.
-----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
0001-pattern.patch
Description: 0001-pattern.patch