Re: [patch][i386, AVX] GFNI enabling [3/4]
Hello Julia! On 06 Nov 08:26, Koval, Julia wrote: > Rebased after last patch fixes. > > gcc/ >* config/i386/gfniintrin.h (_mm_gf2p8affine_epi64_epi8, >_mm256_gf2p8affine_epi64_epi8, _mm_mask_gf2p8affine_epi64_epi8, >_mm_maskz_gf2p8affine_epi64_epi8, _mm256_mask_gf2p8affine_epi64_epi8, >_mm256_maskz_gf2p8affine_epi64_epi8, >_mm512_mask_gf2p8affine_epi64_epi8, _mm512_gf2p8affine_epi64_epi8 >_mm512_maskz_gf2p8affine_epi64_epi8): New intrinsics. >* config/i386/i386-builtin.def (__builtin_ia32_vgf2p8affineqb_v64qi, >__builtin_ia32_vgf2p8affineqb_v32qi, >__builtin_ia32_vgf2p8affineqb_v16qi): New builtins. >* config/i386/sse.md (vgf2p8affineqb_): New pattern. > > gcc/testsuite/ >* gcc.target/i386/avx-1.c: Handle new intrinsics. >* gcc.target/i386/avx512f-gf2p8affineqb-2.c: New runtime tests. >* gcc.target/i386/avx512vl-gf2p8affineqb-2.c: Ditto. >* gcc.target/i386/gfni-1.c: Add tests for GF2P8AFFINE. >* gcc.target/i386/gfni-2.c: Ditto. >* gcc.target/i386/gfni-3.c: Ditto. >* gcc.target/i386/gfni-4.c: Ditto. >* gcc.target/i386/sse-13.c: Handle new tests. >* gcc.target/i386/sse-14.c: Handle new tests. >* gcc.target/i386/sse-23.c: Handle new tests. Your patch is OK for trunk. I've check it in. -- Thanks, K > > > -Original Message- > > From: Koval, Julia > > Sent: Tuesday, October 17, 2017 3:26 PM > > To: Jakub Jelinek <ja...@redhat.com> > > Cc: GCC Patches <gcc-patches@gcc.gnu.org>; Kirill Yukhin > > <kirill.yuk...@gmail.com> > > Subject: RE: [patch][i386, AVX] GFNI enabling [3/4] > > > > Thanks for your comments, fixed everything. > > > > gcc/ > > * config/i386/gfniintrin.h (_mm_gf2p8affine_epi64_epi8, > > _mm256_gf2p8affine_epi64_epi8, _mm_mask_gf2p8affine_epi64_epi8, > > _mm_maskz_gf2p8affine_epi64_epi8, > > _mm256_mask_gf2p8affine_epi64_epi8, > > _mm256_maskz_gf2p8affine_epi64_epi8, > > _mm512_mask_gf2p8affine_epi64_epi8, _mm512_gf2p8affine_epi64_epi8 > > _mm512_maskz_gf2p8affine_epi64_epi8): New intrinsics. > > * config/i386/i386-builtin.def (__builtin_ia32_vgf2p8affineqb_v64qi, > > __builtin_ia32_vgf2p8affineqb_v32qi, > > __builtin_ia32_vgf2p8affineqb_v16qi): New builtins. > > * config/i386/sse.md (vgf2p8affineqb_): New > > pattern. > > > > gcc/testsuite/ > > * gcc.target/i386/avx-1.c: Handle new intrinsics. > > * gcc.target/i386/avx512f-gf2p8affineqb-2.c: New runtime tests. > > * gcc.target/i386/avx512vl-gf2p8affineqb-2.c: Ditto. > > * gcc.target/i386/gfni-1.c: Add tests for GF2P8AFFINE. > > * gcc.target/i386/gfni-2.c: Ditto. > > * gcc.target/i386/gfni-3.c: Ditto. > > * gcc.target/i386/gfni-4.c: Ditto. > > * gcc.target/i386/sse-13.c: Handle new tests. > > * gcc.target/i386/sse-23.c: Handle new tests. > > > > > > > -----Original Message- > > > From: Jakub Jelinek [mailto:ja...@redhat.com] > > > Sent: Tuesday, October 17, 2017 3:15 PM > > > To: Koval, Julia <julia.ko...@intel.com> > > > Cc: GCC Patches <gcc-patches@gcc.gnu.org>; Kirill Yukhin > > > <kirill.yuk...@gmail.com> > > > Subject: Re: [patch][i386, AVX] GFNI enabling [3/4] > > > > > > On Tue, Oct 17, 2017 at 01:09:50PM +, Koval, Julia wrote: > > > > Hi, this the third patch of GFNI ISASET enabling. It enables GF2P8AFFINE > > > instruction, described here: > > > https://software.intel.com/sites/default/files/managed/c5/15/architecture- > > > instruction-set-extensions-programming-reference.pdf > > > > > > > > gcc/ > > > > * config/i386/gfniintrin.h (_mm_gf2p8affine_epi64_epi8, > > > _mm256_gf2p8affine_epi64_epi8, > > > > > > Too long line, even ChangeLog entries should be wrapped to 80 columns. > > > > > > > (_mm_mask_gf2p8affine_epi64_epi8, > > > _mm_maskz_gf2p8affine_epi64_epi8, > > > > _mm256_mask_gf2p8affine_epi64_epi8, > > > _mm256_maskz_gf2p8affine_epi64_epi8, > > > > _mm512_mask_gf2p8affine_epi64_epi8, > > > _mm512_maskz_gf2p8affine_epi64_epi8, > > > > > > The above two are also too long (off by 1 char). > > > > > > > _mm512_gf2p8affine_epi64_epi8): New intrinsics. > > > > * config/i386/i386-builtin.def > > > > (__builtin_ia32_vgf2p8affineqb_v64qi, > > > > __builtin_ia32_vgf2p8affineqb_v32qi, > > > __builtin_ia32_vgf2p8affineqb_v16qi): New builtins. > > > > > > And this one too. Please wrap them. > > > > > > > * config/i386/sse.md (vgf2p8affineqb_*): New pattern. > > > > > > Use vgf2p8affineqb_ instead of the wild-card? > > > > > > I'll defer actual review to Kirill. > > > > > > Jakub
RE: [patch][i386, AVX] GFNI enabling [3/4]
Rebased after last patch fixes. gcc/ * config/i386/gfniintrin.h (_mm_gf2p8affine_epi64_epi8, _mm256_gf2p8affine_epi64_epi8, _mm_mask_gf2p8affine_epi64_epi8, _mm_maskz_gf2p8affine_epi64_epi8, _mm256_mask_gf2p8affine_epi64_epi8, _mm256_maskz_gf2p8affine_epi64_epi8, _mm512_mask_gf2p8affine_epi64_epi8, _mm512_gf2p8affine_epi64_epi8 _mm512_maskz_gf2p8affine_epi64_epi8): New intrinsics. * config/i386/i386-builtin.def (__builtin_ia32_vgf2p8affineqb_v64qi, __builtin_ia32_vgf2p8affineqb_v32qi, __builtin_ia32_vgf2p8affineqb_v16qi): New builtins. * config/i386/sse.md (vgf2p8affineqb_): New pattern. gcc/testsuite/ * gcc.target/i386/avx-1.c: Handle new intrinsics. * gcc.target/i386/avx512f-gf2p8affineqb-2.c: New runtime tests. * gcc.target/i386/avx512vl-gf2p8affineqb-2.c: Ditto. * gcc.target/i386/gfni-1.c: Add tests for GF2P8AFFINE. * gcc.target/i386/gfni-2.c: Ditto. * gcc.target/i386/gfni-3.c: Ditto. * gcc.target/i386/gfni-4.c: Ditto. * gcc.target/i386/sse-13.c: Handle new tests. * gcc.target/i386/sse-14.c: Handle new tests. * gcc.target/i386/sse-23.c: Handle new tests. > -Original Message- > From: Koval, Julia > Sent: Tuesday, October 17, 2017 3:26 PM > To: Jakub Jelinek <ja...@redhat.com> > Cc: GCC Patches <gcc-patches@gcc.gnu.org>; Kirill Yukhin > <kirill.yuk...@gmail.com> > Subject: RE: [patch][i386, AVX] GFNI enabling [3/4] > > Thanks for your comments, fixed everything. > > gcc/ > * config/i386/gfniintrin.h (_mm_gf2p8affine_epi64_epi8, > _mm256_gf2p8affine_epi64_epi8, _mm_mask_gf2p8affine_epi64_epi8, > _mm_maskz_gf2p8affine_epi64_epi8, > _mm256_mask_gf2p8affine_epi64_epi8, > _mm256_maskz_gf2p8affine_epi64_epi8, > _mm512_mask_gf2p8affine_epi64_epi8, _mm512_gf2p8affine_epi64_epi8 > _mm512_maskz_gf2p8affine_epi64_epi8): New intrinsics. > * config/i386/i386-builtin.def (__builtin_ia32_vgf2p8affineqb_v64qi, > __builtin_ia32_vgf2p8affineqb_v32qi, > __builtin_ia32_vgf2p8affineqb_v16qi): New builtins. > * config/i386/sse.md (vgf2p8affineqb_): New > pattern. > > gcc/testsuite/ > * gcc.target/i386/avx-1.c: Handle new intrinsics. > * gcc.target/i386/avx512f-gf2p8affineqb-2.c: New runtime tests. > * gcc.target/i386/avx512vl-gf2p8affineqb-2.c: Ditto. > * gcc.target/i386/gfni-1.c: Add tests for GF2P8AFFINE. > * gcc.target/i386/gfni-2.c: Ditto. > * gcc.target/i386/gfni-3.c: Ditto. > * gcc.target/i386/gfni-4.c: Ditto. > * gcc.target/i386/sse-13.c: Handle new tests. > * gcc.target/i386/sse-23.c: Handle new tests. > > > > -Original Message- > > From: Jakub Jelinek [mailto:ja...@redhat.com] > > Sent: Tuesday, October 17, 2017 3:15 PM > > To: Koval, Julia <julia.ko...@intel.com> > > Cc: GCC Patches <gcc-patches@gcc.gnu.org>; Kirill Yukhin > > <kirill.yuk...@gmail.com> > > Subject: Re: [patch][i386, AVX] GFNI enabling [3/4] > > > > On Tue, Oct 17, 2017 at 01:09:50PM +, Koval, Julia wrote: > > > Hi, this the third patch of GFNI ISASET enabling. It enables GF2P8AFFINE > > instruction, described here: > > https://software.intel.com/sites/default/files/managed/c5/15/architecture- > > instruction-set-extensions-programming-reference.pdf > > > > > > gcc/ > > > * config/i386/gfniintrin.h (_mm_gf2p8affine_epi64_epi8, > > _mm256_gf2p8affine_epi64_epi8, > > > > Too long line, even ChangeLog entries should be wrapped to 80 columns. > > > > > (_mm_mask_gf2p8affine_epi64_epi8, > > _mm_maskz_gf2p8affine_epi64_epi8, > > > _mm256_mask_gf2p8affine_epi64_epi8, > > _mm256_maskz_gf2p8affine_epi64_epi8, > > > _mm512_mask_gf2p8affine_epi64_epi8, > > _mm512_maskz_gf2p8affine_epi64_epi8, > > > > The above two are also too long (off by 1 char). > > > > > _mm512_gf2p8affine_epi64_epi8): New intrinsics. > > > * config/i386/i386-builtin.def (__builtin_ia32_vgf2p8affineqb_v64qi, > > > __builtin_ia32_vgf2p8affineqb_v32qi, > > __builtin_ia32_vgf2p8affineqb_v16qi): New builtins. > > > > And this one too. Please wrap them. > > > > > * config/i386/sse.md (vgf2p8affineqb_*): New pattern. > > > > Use vgf2p8affineqb_ instead of the wild-card? > > > > I'll defer actual review to Kirill. > > > > Jakub 0001-gf2p8affine.patch Description: 0001-gf2p8affine.patch
RE: [patch][i386, AVX] GFNI enabling [3/4]
Thanks for your comments, fixed everything. gcc/ * config/i386/gfniintrin.h (_mm_gf2p8affine_epi64_epi8, _mm256_gf2p8affine_epi64_epi8, _mm_mask_gf2p8affine_epi64_epi8, _mm_maskz_gf2p8affine_epi64_epi8, _mm256_mask_gf2p8affine_epi64_epi8, _mm256_maskz_gf2p8affine_epi64_epi8, _mm512_mask_gf2p8affine_epi64_epi8, _mm512_gf2p8affine_epi64_epi8 _mm512_maskz_gf2p8affine_epi64_epi8): New intrinsics. * config/i386/i386-builtin.def (__builtin_ia32_vgf2p8affineqb_v64qi, __builtin_ia32_vgf2p8affineqb_v32qi, __builtin_ia32_vgf2p8affineqb_v16qi): New builtins. * config/i386/sse.md (vgf2p8affineqb_): New pattern. gcc/testsuite/ * gcc.target/i386/avx-1.c: Handle new intrinsics. * gcc.target/i386/avx512f-gf2p8affineqb-2.c: New runtime tests. * gcc.target/i386/avx512vl-gf2p8affineqb-2.c: Ditto. * gcc.target/i386/gfni-1.c: Add tests for GF2P8AFFINE. * gcc.target/i386/gfni-2.c: Ditto. * gcc.target/i386/gfni-3.c: Ditto. * gcc.target/i386/gfni-4.c: Ditto. * gcc.target/i386/sse-13.c: Handle new tests. * gcc.target/i386/sse-23.c: Handle new tests. > -Original Message- > From: Jakub Jelinek [mailto:ja...@redhat.com] > Sent: Tuesday, October 17, 2017 3:15 PM > To: Koval, Julia <julia.ko...@intel.com> > Cc: GCC Patches <gcc-patches@gcc.gnu.org>; Kirill Yukhin > <kirill.yuk...@gmail.com> > Subject: Re: [patch][i386, AVX] GFNI enabling [3/4] > > On Tue, Oct 17, 2017 at 01:09:50PM +, Koval, Julia wrote: > > Hi, this the third patch of GFNI ISASET enabling. It enables GF2P8AFFINE > instruction, described here: > https://software.intel.com/sites/default/files/managed/c5/15/architecture- > instruction-set-extensions-programming-reference.pdf > > > > gcc/ > > * config/i386/gfniintrin.h (_mm_gf2p8affine_epi64_epi8, > _mm256_gf2p8affine_epi64_epi8, > > Too long line, even ChangeLog entries should be wrapped to 80 columns. > > > (_mm_mask_gf2p8affine_epi64_epi8, > _mm_maskz_gf2p8affine_epi64_epi8, > > _mm256_mask_gf2p8affine_epi64_epi8, > _mm256_maskz_gf2p8affine_epi64_epi8, > > _mm512_mask_gf2p8affine_epi64_epi8, > _mm512_maskz_gf2p8affine_epi64_epi8, > > The above two are also too long (off by 1 char). > > > _mm512_gf2p8affine_epi64_epi8): New intrinsics. > > * config/i386/i386-builtin.def (__builtin_ia32_vgf2p8affineqb_v64qi, > > __builtin_ia32_vgf2p8affineqb_v32qi, > __builtin_ia32_vgf2p8affineqb_v16qi): New builtins. > > And this one too. Please wrap them. > > > * config/i386/sse.md (vgf2p8affineqb_*): New pattern. > > Use vgf2p8affineqb_ instead of the wild-card? > > I'll defer actual review to Kirill. > > Jakub
Re: [patch][i386, AVX] GFNI enabling [3/4]
On Tue, Oct 17, 2017 at 01:09:50PM +, Koval, Julia wrote: > Hi, this the third patch of GFNI ISASET enabling. It enables GF2P8AFFINE > instruction, described here: > https://software.intel.com/sites/default/files/managed/c5/15/architecture-instruction-set-extensions-programming-reference.pdf > > gcc/ > * config/i386/gfniintrin.h (_mm_gf2p8affine_epi64_epi8, > _mm256_gf2p8affine_epi64_epi8, Too long line, even ChangeLog entries should be wrapped to 80 columns. > (_mm_mask_gf2p8affine_epi64_epi8, _mm_maskz_gf2p8affine_epi64_epi8, > _mm256_mask_gf2p8affine_epi64_epi8, _mm256_maskz_gf2p8affine_epi64_epi8, > _mm512_mask_gf2p8affine_epi64_epi8, _mm512_maskz_gf2p8affine_epi64_epi8, The above two are also too long (off by 1 char). > _mm512_gf2p8affine_epi64_epi8): New intrinsics. > * config/i386/i386-builtin.def (__builtin_ia32_vgf2p8affineqb_v64qi, > __builtin_ia32_vgf2p8affineqb_v32qi, > __builtin_ia32_vgf2p8affineqb_v16qi): New builtins. And this one too. Please wrap them. > * config/i386/sse.md (vgf2p8affineqb_*): New pattern. Use vgf2p8affineqb_ instead of the wild-card? I'll defer actual review to Kirill. Jakub
[patch][i386, AVX] GFNI enabling [3/4]
Hi, this the third patch of GFNI ISASET enabling. It enables GF2P8AFFINE instruction, described here: https://software.intel.com/sites/default/files/managed/c5/15/architecture-instruction-set-extensions-programming-reference.pdf gcc/ * config/i386/gfniintrin.h (_mm_gf2p8affine_epi64_epi8, _mm256_gf2p8affine_epi64_epi8, (_mm_mask_gf2p8affine_epi64_epi8, _mm_maskz_gf2p8affine_epi64_epi8, _mm256_mask_gf2p8affine_epi64_epi8, _mm256_maskz_gf2p8affine_epi64_epi8, _mm512_mask_gf2p8affine_epi64_epi8, _mm512_maskz_gf2p8affine_epi64_epi8, _mm512_gf2p8affine_epi64_epi8): New intrinsics. * config/i386/i386-builtin.def (__builtin_ia32_vgf2p8affineqb_v64qi, __builtin_ia32_vgf2p8affineqb_v32qi, __builtin_ia32_vgf2p8affineqb_v16qi): New builtins. * config/i386/sse.md (vgf2p8affineqb_*): New pattern. gcc/testsuite/ * gcc.target/i386/avx-1.c: Handle new intrinsics. * gcc.target/i386/avx512f-gf2p8affineqb-2.c: New runtime tests. * gcc.target/i386/avx512vl-gf2p8affineqb-2.c: Ditto. * gcc.target/i386/gfni-1.c: Add tests for GF2P8AFFINE. * gcc.target/i386/gfni-2.c: Ditto. * gcc.target/i386/gfni-3.c: Ditto. * gcc.target/i386/gfni-4.c: Ditto. * gcc.target/i386/sse-13.c: Handle new tests. * gcc.target/i386/sse-23.c: Handle new tests. Ok for trunk? Thanks, Julia 0003-GF2P8AFFINE-instruction.patch Description: 0003-GF2P8AFFINE-instruction.patch