Re: [patch][i386, AVX] GFNI enabling [3/4]

2017-11-10 Thread Kirill Yukhin
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]

2017-11-06 Thread Koval, Julia
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]

2017-10-17 Thread Koval, Julia
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]

2017-10-17 Thread Jakub Jelinek
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]

2017-10-17 Thread Koval, Julia
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