[PATCH][X86] Add missing intrinsics for VRSQRT14

Koval, Julia julia.koval@intel.com
Thu May 11 13:01:00 GMT 2017


> 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:ubizjak@gmail.com] 
Sent: Thursday, May 11, 2017 11:25 AM
To: Koval, Julia <julia.koval@intel.com>
Cc: GCC Patches <gcc-patches@gcc.gnu.org>; Kirill Yukhin <kirill.yukhin@gmail.com>
Subject: Re: [PATCH][X86] Add missing intrinsics for VRSQRT14

On Thu, May 11, 2017 at 7:43 AM, Koval, Julia <julia.koval@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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-pattern.patch
Type: application/octet-stream
Size: 4792 bytes
Desc: 0001-pattern.patch
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20170511/847cd968/attachment.obj>


More information about the Gcc-patches mailing list