This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] x86: Update VFIXUPIMM* Intrinsics to align with the latest Intel SDM
- From: Uros Bizjak <ubizjak at gmail dot com>
- To: wei dot william dot xiao at gmail dot com
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, "Lu, Hongjiu" <hongjiu dot lu at intel dot com>, Jeff Law <law at redhat dot com>, Kirill Yukhin <kirill dot yukhin at gmail dot com>
- Date: Fri, 2 Nov 2018 12:11:41 +0100
- Subject: Re: [PATCH] x86: Update VFIXUPIMM* Intrinsics to align with the latest Intel SDM
- References: <CAHFC=NnCfqjAwPj8n4pq-HdJ-vmVJek39U7fuHTE6jh4Ywon0Q@mail.gmail.com> <CAFULd4bQXs7nTomxc1H_6SdNv1KbWA7yY-=NJKAxLRrWM6u15Q@mail.gmail.com> <CAHFC=NnQOdGPv8WgvEm3CrCsQt6T1dNGd6b-U_Dvmj0KgJ0bnw@mail.gmail.com>
On Fri, Nov 2, 2018 at 11:12 AM Wei Xiao <wei.william.xiao@gmail.com> wrote:
>
> Hi Uros and HJ,
>
> I have updated the patch according to your remarks as attached.
> Ok for trunk?
>
> Thanks
> Wei
>
> gcc/
> 2018-11-2 Wei Xiao <wei3.xiao@intel.com>
>
> *config/i386/avx512fintrin.h: Update VFIXUPIMM* intrinsics.
> (_mm512_fixupimm_round_pd): Update parameters and builtin.
> (_mm512_maskz_fixupimm_round_pd): Ditto.
> (_mm512_fixupimm_round_ps): Ditto.
> (_mm512_maskz_fixupimm_round_ps): Ditto.
> (_mm_fixupimm_round_sd): Ditto.
> (_mm_maskz_fixupimm_round_sd): Ditto.
> (_mm_fixupimm_round_ss): Ditto.
> (_mm_maskz_fixupimm_round_ss): Ditto.
> (_mm512_fixupimm_pd): Ditto.
> (_mm512_maskz_fixupimm_pd): Ditto.
> (_mm512_fixupimm_ps): Ditto.
> (_mm512_maskz_fixupimm_ps): Ditto.
> (_mm_fixupimm_sd): Ditto.
> (_mm_maskz_fixupimm_sd): Ditto.
> (_mm_fixupimm_ss): Ditto.
> (_mm_maskz_fixupimm_ss): Ditto.
> (_mm512_mask_fixupimm_round_pd): Update builtin.
> (_mm512_mask_fixupimm_round_ps): Ditto.
> (_mm_mask_fixupimm_round_sd): Ditto.
> (_mm_mask_fixupimm_round_ss): Ditto.
> (_mm512_mask_fixupimm_pd): Ditto.
> (_mm512_mask_fixupimm_ps): Ditto.
> (_mm_mask_fixupimm_sd): Ditto.
> (_mm_mask_fixupimm_ss): Ditto.
> *config/i386/avx512vlintrin.h:
> (_mm256_fixupimm_pd): Update parameters and builtin.
> (_mm256_maskz_fixupimm_pd): Ditto.
> (_mm256_fixupimm_ps): Ditto.
> (_mm256_maskz_fixupimm_ps): Ditto.
> (_mm_fixupimm_pd): Ditto.
> (_mm_maskz_fixupimm_pd): Ditto.
> (_mm_fixupimm_ps): Ditto.
> (_mm_maskz_fixupimm_ps): Ditto.
> (_mm256_mask_fixupimm_pd): Update builtin.
> (_mm256_mask_fixupimm_ps): Ditto.
> (_mm_mask_fixupimm_pd): Ditto.
> (_mm_mask_fixupimm_ps): Ditto.
> *config/i386/i386-builtin-types.def: Add new types and remove
> useless ones.
> *config/i386/i386-builtin.def: Update builtin definitions.
> *config/i386/i386.c: Handle new builtin types and remove useless ones.
> *config/i386/sse.md: Update VFIXUPIMM* patterns.
> (<avx512>_fixupimm<mode>_maskz<round_saeonly_expand_name>): Update.
> (<avx512>_fixupimm<mode><sd_maskz_name><round_saeonly_name>): Update.
> (<avx512>_fixupimm<mode>_mask<round_saeonly_name>): Update.
> (avx512f_sfixupimm<mode>_maskz<round_saeonly_expand_name>): Update.
> (avx512f_sfixupimm<mode><sd_maskz_name><round_saeonly_name>): Update.
> (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Update.
> *config/i386/subst.md:
> (round_saeonly_sd_mask_operand4): Add new subst_attr.
> (round_saeonly_sd_mask_op4): Ditto.
> (round_saeonly_expand_operand5): Ditto.
> (round_saeonly_expand): Update.
>
> gcc/testsuite
> 2018-11-2 Wei Xiao <wei3.xiao@intel.com>
>
> *gcc.target/i386/avx-1.c: Update tests for VFIXUPIMM* intrinsics.
> *gcc.target/i386/avx512f-vfixupimmpd-1.c: Ditto.
> *gcc.target/i386/avx512f-vfixupimmpd-2.c: Ditto.
> *gcc.target/i386/avx512f-vfixupimmps-1.c: Ditto.
> *gcc.target/i386/avx512f-vfixupimmsd-1.c: Ditto.
> *gcc.target/i386/avx512f-vfixupimmsd-2.c: Ditto.
> *gcc.target/i386/avx512f-vfixupimmss-1.c: Ditto.
> *gcc.target/i386/avx512f-vfixupimmss-2.c: Ditto.
> *gcc.target/i386/avx512vl-vfixupimmpd-1.c: Ditto.
> *gcc.target/i386/avx512vl-vfixupimmps-1.c: Ditto.
> *gcc.target/i386/sse-13.c: Ditto.
> *gcc.target/i386/sse-14.c: Ditto.
> *gcc.target/i386/sse-22.c: Ditto.
> *gcc.target/i386/sse-23.c: Ditto.
> *gcc.target/i386/testimm-10.c: Ditto.
> *gcc.target/i386/testround-1.c: Ditto.
Please also rename these:
_mm512_mask_fixupimm_round_pd (__m512d __A, __mmask8 __U, __m512d __B,
__m512i __C, const int __imm, const int __R)
_mm512_mask_fixupimm_round_ps (__m512 __A, __mmask16 __U, __m512 __B,
__m512i __C, const int __imm, const int __R)
_mm_mask_fixupimm_round_sd (__m128d __A, __mmask8 __U, __m128d __B,
__m128i __C, const int __imm, const int __R)
_mm_mask_fixupimm_round_ss (__m128 __A, __mmask8 __U, __m128 __B,
__m128i __C, const int __imm, const int __R)
_mm512_mask_fixupimm_pd (__m512d __A, __mmask8 __U, __m512d __B,
__m512i __C, const int __imm)
_mm512_mask_fixupimm_ps (__m512 __A, __mmask16 __U, __m512 __B,
__m512i __C, const int __imm)
_mm_mask_fixupimm_sd (__m128d __A, __mmask8 __U, __m128d __B,
__m128i __C, const int __imm)
_mm_mask_fixupimm_ss (__m128 __A, __mmask8 __U, __m128 __B,
__m128i __C, const int __imm)
_mm256_mask_fixupimm_pd (__m256d __A, __mmask8 __U, __m256d __B,
__m256i __C, const int __imm)
_mm256_mask_fixupimm_ps (__m256 __A, __mmask8 __U, __m256 __B,
__m256i __C, const int __imm)
_mm_mask_fixupimm_pd (__m128d __A, __mmask8 __U, __m128d __B,
__m128i __C, const int __imm)
_mm_mask_fixupimm_ps (__m128 __A, __mmask8 __U, __m128 __B,
__m128i __C, const int __imm)
Uros.