Re: [PATCH][i386,AVX] Enable VBMI2 support [2/7]
On 24 Nov 09:35, Jakub Jelinek wrote: > On Fri, Nov 24, 2017 at 09:34:07AM +0100, Eric Botcazou wrote: > > > This seems to break the build for me: > > > > > > In file included from > > > /home/glisse/repos/gcc/trunk/gcc/config/i386/i386.c:21:0: > > > /home/glisse/repos/gcc/trunk/gcc/config/i386/i386.c:30165:16: error: > > > ‘IX86_BUILTIN__BDESC_SPECIAL_ARGS2_FIRST’ was not declared in this scope > > > BDESC_VERIFYS (IX86_BUILTIN__BDESC_SPECIAL_ARGS2_FIRST, > > > > Confirmed: > > > > /home/eric/gnat/gnat-head/src/gcc/config/i386/i386.c: In function ‘rtx_def* > > ix86_expand_builtin(tree, rtx, rtx, machine_mode, int)’: > > /home/eric/gnat/gnat-head/src/gcc/config/i386/i386.c:37439:16: error: > > ‘IX86_BUILTIN__BDESC_SPECIAL_ARGS2_FIRST’ was not declared in this scope > >if (fcode >= IX86_BUILTIN__BDESC_SPECIAL_ARGS2_FIRST > > ^ > > /home/eric/gnat/gnat-head/src/gcc/config/i386/i386.c:37440:19: error: > > ‘IX86_BUILTIN__BDESC_SPECIAL_ARGS2_LAST’ was not declared in this scope > >&& fcode <= IX86_BUILTIN__BDESC_SPECIAL_ARGS2_LAST) > >^ > > /home/eric/gnat/gnat-head/src/gcc/config/i386/i386.c:37443:48: error: > > ‘bdesc_special_args2’ was not declared in this scope > >return ix86_expand_special_args_builtin (bdesc_special_args2 + i, > > exp, > > It works now, Kirill has committed r255131 and r255132. Sorry about that, folks. I've missed a conflict during patch application. -- Thanks, K > > Jakub
Re: [PATCH][i386,AVX] Enable VBMI2 support [2/7]
On Fri, Nov 24, 2017 at 09:34:07AM +0100, Eric Botcazou wrote: > > This seems to break the build for me: > > > > In file included from > > /home/glisse/repos/gcc/trunk/gcc/config/i386/i386.c:21:0: > > /home/glisse/repos/gcc/trunk/gcc/config/i386/i386.c:30165:16: error: > > ‘IX86_BUILTIN__BDESC_SPECIAL_ARGS2_FIRST’ was not declared in this scope > > BDESC_VERIFYS (IX86_BUILTIN__BDESC_SPECIAL_ARGS2_FIRST, > > Confirmed: > > /home/eric/gnat/gnat-head/src/gcc/config/i386/i386.c: In function ‘rtx_def* > ix86_expand_builtin(tree, rtx, rtx, machine_mode, int)’: > /home/eric/gnat/gnat-head/src/gcc/config/i386/i386.c:37439:16: error: > ‘IX86_BUILTIN__BDESC_SPECIAL_ARGS2_FIRST’ was not declared in this scope >if (fcode >= IX86_BUILTIN__BDESC_SPECIAL_ARGS2_FIRST > ^ > /home/eric/gnat/gnat-head/src/gcc/config/i386/i386.c:37440:19: error: > ‘IX86_BUILTIN__BDESC_SPECIAL_ARGS2_LAST’ was not declared in this scope >&& fcode <= IX86_BUILTIN__BDESC_SPECIAL_ARGS2_LAST) >^ > /home/eric/gnat/gnat-head/src/gcc/config/i386/i386.c:37443:48: error: > ‘bdesc_special_args2’ was not declared in this scope >return ix86_expand_special_args_builtin (bdesc_special_args2 + i, exp, It works now, Kirill has committed r255131 and r255132. Jakub
Re: [PATCH][i386,AVX] Enable VBMI2 support [2/7]
> This seems to break the build for me: > > In file included from > /home/glisse/repos/gcc/trunk/gcc/config/i386/i386.c:21:0: > /home/glisse/repos/gcc/trunk/gcc/config/i386/i386.c:30165:16: error: > ‘IX86_BUILTIN__BDESC_SPECIAL_ARGS2_FIRST’ was not declared in this scope > BDESC_VERIFYS (IX86_BUILTIN__BDESC_SPECIAL_ARGS2_FIRST, Confirmed: /home/eric/gnat/gnat-head/src/gcc/config/i386/i386.c: In function ‘rtx_def* ix86_expand_builtin(tree, rtx, rtx, machine_mode, int)’: /home/eric/gnat/gnat-head/src/gcc/config/i386/i386.c:37439:16: error: ‘IX86_BUILTIN__BDESC_SPECIAL_ARGS2_FIRST’ was not declared in this scope if (fcode >= IX86_BUILTIN__BDESC_SPECIAL_ARGS2_FIRST ^ /home/eric/gnat/gnat-head/src/gcc/config/i386/i386.c:37440:19: error: ‘IX86_BUILTIN__BDESC_SPECIAL_ARGS2_LAST’ was not declared in this scope && fcode <= IX86_BUILTIN__BDESC_SPECIAL_ARGS2_LAST) ^ /home/eric/gnat/gnat-head/src/gcc/config/i386/i386.c:37443:48: error: ‘bdesc_special_args2’ was not declared in this scope return ix86_expand_special_args_builtin (bdesc_special_args2 + i, exp, -- Eric Botcazou
Re: [PATCH][i386,AVX] Enable VBMI2 support [2/7]
On Thu, 23 Nov 2017, Kirill Yukhin wrote: Hello, Julia! On 24 Oct 08:25, Koval, Julia wrote: Hi, This patch enables VPCOMPRESSB[W] instruction. The doc for isaset and instruction: https://software.intel.com/sites/default/files/managed/c5/15/architecture-instruction-set-extensions-programming-reference.pdf Ok for trunk? Your patch is OK for trunk. I;ve checked it in. This seems to break the build for me: In file included from /home/glisse/repos/gcc/trunk/gcc/config/i386/i386.c:21:0: /home/glisse/repos/gcc/trunk/gcc/config/i386/i386.c:30165:16: error: ‘IX86_BUILTIN__BDESC_SPECIAL_ARGS2_FIRST’ was not declared in this scope BDESC_VERIFYS (IX86_BUILTIN__BDESC_SPECIAL_ARGS2_FIRST, ^ -- Marc Glisse
Re: [PATCH][i386,AVX] Enable VBMI2 support [2/7]
Hello, Julia! On 24 Oct 08:25, Koval, Julia wrote: > Hi, > This patch enables VPCOMPRESSB[W] instruction. The doc for isaset and > instruction: > https://software.intel.com/sites/default/files/managed/c5/15/architecture-instruction-set-extensions-programming-reference.pdf > > Ok for trunk? Your patch is OK for trunk. I;ve checked it in. -- Thanks, K
[PATCH][i386,AVX] Enable VBMI2 support [2/7]
Hi, This patch enables VPCOMPRESSB[W] instruction. The doc for isaset and instruction: https://software.intel.com/sites/default/files/managed/c5/15/architecture-instruction-set-extensions-programming-reference.pdf Ok for trunk? gcc/ config.gcc (avx512vbmi2intrin.h, avx512vbmi2vlintrin): New headers. config/i386/avx512vbmi2intrin.h (_mm512_mask_compress_epi8, _mm512_maskz_compress_epi8, _mm512_mask_compressstoreu_epi8, _mm512_mask_compress_epi16, _mm512_maskz_compress_epi16, _mm512_mask_compressstoreu_epi16): New. config/i386/avx512vbmi2vlintrin.h (_mm_mask_compress_epi8, _mm_maskz_compress_epi8, _mm256_mask_compressstoreu_epi16, _mm_mask_compress_epi16, _mm_maskz_compress_epi16, _mm256_mask_compress_epi16, _mm256_maskz_compress_epi16, _mm_mask_compressstoreu_epi8, _mm_mask_compressstoreu_epi16, _mm256_mask_compress_epi8, _mm256_maskz_compress_epi8, _mm256_mask_compressstoreu_epi8): New. config/i386/i386-builtin-types.def (VOID_FTYPE_PV64QI_V64QI_UDI, VOID_FTYPE_PV32HI_V32HI_USI, VOID_FTYPE_PV32QI_V32QI_USI, VOID_FTYPE_PV16QI_V16QI_UHI, VOID_FTYPE_PV16HI_V16HI_UHI, VOID_FTYPE_PV8HI_V8HI_UQI): New types. config/i386/i386-builtin.def (__builtin_ia32_compressqi512_mask, __builtin_ia32_compresshi512_mask, __builtin_ia32_compressqi256_mask, __builtin_ia32_compressqi128_mask, __builtin_ia32_compresshi256_mask, __builtin_ia32_compresshi128_mask, __builtin_ia32_compressstoreuqi512_mask, __builtin_ia32_compressstoreuhi512_mask, __builtin_ia32_compressstoreuqi256_mask, __builtin_ia32_compressstoreuqi128_mask, __builtin_ia32_compressstoreuhi256_mask, __builtin_ia32_compressstoreuhi128_mask): New builtins. config/i386/i386.c (ix86_init_mmx_sse_builtins): Create special args array for flags2. (ix86_expand_special_args_builtin): Handle new types. (s4fma_expand): Handle new builtin array. config/i386/immintrin.h: Include new headers. config/i386/sse.md (VI12_AVX512VLBW): New iterator. (compress_mask, compressstore_mask): New patterns. gcc/testsuite/ gcc.target/i386/avx512-check.h: Handle AVX512VBMI2 bit. gcc.target/i386/avx512f-vpcompressb-1.c: New test. gcc.target/i386/avx512f-vpcompressb-2.c: Ditto. gcc.target/i386/avx512f-vpcompressw-1.c: Ditto. gcc.target/i386/avx512f-vpcompressw-2.c: Ditto. gcc.target/i386/avx512vl-vpcompressb-1.c: Ditto. gcc.target/i386/avx512vl-vpcompressb-2.c: Ditto. gcc.target/i386/avx512vl-vpcompressw-1.c: Ditto. gcc.target/i386/avx512vl-vpcompressw-2.c: Ditto. gcc.target/i386/i386.exp (check_effective_target_avx512vbmi2): New. 0004-VPCOMPRESSB-W-instruction.patch Description: 0004-VPCOMPRESSB-W-instruction.patch