This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] x86: Update VFIXUPIMM* Intrinsics to align with the latest Intel SDM


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]