Re: [patch] Remove redundant intrinsics
On 06/14/2018 05:44 AM, Koval, Julia wrote: > Hi, > > This patch should fix the issue. Ok for trunk? > > gcc/testsuite/ > * gcc.target/i386/avx512vl-vpclmulqdq-2.c: Remove 128bit version. OK. jeff
RE: [patch] Remove redundant intrinsics
Hi, This patch should fix the issue. Ok for trunk? gcc/testsuite/ * gcc.target/i386/avx512vl-vpclmulqdq-2.c: Remove 128bit version. Thanks, Julia > -Original Message- > From: H.J. Lu [mailto:hjl.to...@gmail.com] > Sent: Tuesday, June 12, 2018 1:27 PM > To: Koval, Julia > Cc: GCC Patches ; Kirill Yukhin > > Subject: Re: [patch] Remove redundant intrinsics > > On Mon, Jun 4, 2018 at 3:27 AM, Koval, Julia wrote: > > Hi, > > > > Since pre-Icelake ISA already had 128bit version vpclmul and vaes, we > > already > have intrinsics for them(_mm_aesdec_si128, _mm_aesdeclast_si128, > _mm_aesenc_si128, _mm_aesenclast_si128, _mm_clmulepi64_si128). > Therefore intrinsics for them, introduced with Icelake instructions are > redundant. This patch removes them. Ok for trunk? > > > > gcc/ > > * config/i386/vaesintrin.h (_mm_aesdec_epi128, > _mm_aesdeclast_epi128, > > _mm_aesenc_epi128, _mm_aesenclast_epi128): Remove. > > * config/i386/vpclmulqdqintrin.h (_mm_clmulepi64_epi128): Remove. > > > > gcc/testsuite/ > > * gcc.target/i386/avx512fvl-vaes-1.c: Remove 128bit versions from > > test. > > * gcc.target/i386/vpclmulqdq.c: Ditto. > > This caused: > > [hjl@gnu-skx-1 gcc]$ > /export/build/gnu/gcc-test/build-x86_64-linux/gcc/xgcc > -B/export/build/gnu/gcc-test/build-x86_64-linux/gcc/ > /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512vl- > vpclmulqdq-2.c > -fno-diagnostics-show-caret -fdiagnostics-color=never -O2 -mavx512bw > -mavx512vl -mvpclmulqdq -lm -o ./avx512vl-vpclmulqdq-2.exe > In file included from > /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512f- > vpclmulqdq-2.c:9, > from > /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512vl- > vpclmulqdq-2.c:17: > /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512f- > vpclmulqdq-2.c: > In function \u2018test_128\u2019: > /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512f- > helper.h:107:25: > warning: implicit declaration of function > \u2018_mm_clmulepi64_epi128\u2019; did you mean > \u2018_mm_clmulepi64_si128\u2019? [-Wimplicit-function-declaration] > /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512f- > vpclmulqdq-2.c:56:11: > note: in expansion of macro \u2018INTRINSIC\u2019 > In file included from > /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512vl- > vpclmulqdq-2.c:17: > /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512f- > vpclmulqdq-2.c:56:9: > error: incompatible types when assigning to type \u2018__m128i\u2019 > {aka \u2018__vector(2) long long int\u2019} from type \u2018int\u2019 > [hjl@gnu-skx-1 gcc]$ > /export/build/gnu/gcc-test/build-x86_64-linux/gcc/xgcc > -B/export/build/gnu/gcc-test/build-x86_64-linux/gcc/ > /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512vl- > vpclmulqdq-2.c > -fno-diagnostics-show-caret -fdiagnostics-color=never -O2 -mavx512bw > -mavx512vl -mvpclmulqdq -lm -o ./avx512vl-vpclmulqdq-2.exe > In file included from > /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512f- > vpclmulqdq-2.c:9, > from > /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512vl- > vpclmulqdq-2.c:17: > /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512f- > vpclmulqdq-2.c: > In function \u2018test_128\u2019: > /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512f- > helper.h:107:25: > warning: implicit declaration of function > \u2018_mm_clmulepi64_epi128\u2019; did you mean > \u2018_mm_clmulepi64_si128\u2019? [-Wimplicit-function-declaration] > /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512f- > vpclmulqdq-2.c:56:11: > note: in expansion of macro \u2018INTRINSIC\u2019 > In file included from > /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512vl- > vpclmulqdq-2.c:17: > /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512f- > vpclmulqdq-2.c:56:9: > error: incompatible types when assigning to type \u2018__m128i\u2019 > {aka \u2018__vector(2) long long int\u2019} from type \u2018int\u2019 > [hjl@gnu-skx-1 gcc]$ > > FAIL: gcc.target/i386/avx512vl-vpclmulqdq-2.c (test for excess errors) > > > -- > H.J. test_fix.patch Description: test_fix.patch
Re: [patch] Remove redundant intrinsics
On Mon, Jun 4, 2018 at 3:27 AM, Koval, Julia wrote: > Hi, > > Since pre-Icelake ISA already had 128bit version vpclmul and vaes, we already > have intrinsics for them(_mm_aesdec_si128, _mm_aesdeclast_si128, > _mm_aesenc_si128, _mm_aesenclast_si128, _mm_clmulepi64_si128). Therefore > intrinsics for them, introduced with Icelake instructions are redundant. This > patch removes them. Ok for trunk? > > gcc/ > * config/i386/vaesintrin.h (_mm_aesdec_epi128, _mm_aesdeclast_epi128, > _mm_aesenc_epi128, _mm_aesenclast_epi128): Remove. > * config/i386/vpclmulqdqintrin.h (_mm_clmulepi64_epi128): Remove. > > gcc/testsuite/ > * gcc.target/i386/avx512fvl-vaes-1.c: Remove 128bit versions from > test. > * gcc.target/i386/vpclmulqdq.c: Ditto. This caused: [hjl@gnu-skx-1 gcc]$ /export/build/gnu/gcc-test/build-x86_64-linux/gcc/xgcc -B/export/build/gnu/gcc-test/build-x86_64-linux/gcc/ /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512vl-vpclmulqdq-2.c -fno-diagnostics-show-caret -fdiagnostics-color=never -O2 -mavx512bw -mavx512vl -mvpclmulqdq -lm -o ./avx512vl-vpclmulqdq-2.exe In file included from /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512f-vpclmulqdq-2.c:9, from /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512vl-vpclmulqdq-2.c:17: /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512f-vpclmulqdq-2.c: In function \u2018test_128\u2019: /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512f-helper.h:107:25: warning: implicit declaration of function \u2018_mm_clmulepi64_epi128\u2019; did you mean \u2018_mm_clmulepi64_si128\u2019? [-Wimplicit-function-declaration] /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512f-vpclmulqdq-2.c:56:11: note: in expansion of macro \u2018INTRINSIC\u2019 In file included from /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512vl-vpclmulqdq-2.c:17: /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512f-vpclmulqdq-2.c:56:9: error: incompatible types when assigning to type \u2018__m128i\u2019 {aka \u2018__vector(2) long long int\u2019} from type \u2018int\u2019 [hjl@gnu-skx-1 gcc]$ /export/build/gnu/gcc-test/build-x86_64-linux/gcc/xgcc -B/export/build/gnu/gcc-test/build-x86_64-linux/gcc/ /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512vl-vpclmulqdq-2.c -fno-diagnostics-show-caret -fdiagnostics-color=never -O2 -mavx512bw -mavx512vl -mvpclmulqdq -lm -o ./avx512vl-vpclmulqdq-2.exe In file included from /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512f-vpclmulqdq-2.c:9, from /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512vl-vpclmulqdq-2.c:17: /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512f-vpclmulqdq-2.c: In function \u2018test_128\u2019: /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512f-helper.h:107:25: warning: implicit declaration of function \u2018_mm_clmulepi64_epi128\u2019; did you mean \u2018_mm_clmulepi64_si128\u2019? [-Wimplicit-function-declaration] /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512f-vpclmulqdq-2.c:56:11: note: in expansion of macro \u2018INTRINSIC\u2019 In file included from /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512vl-vpclmulqdq-2.c:17: /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/avx512f-vpclmulqdq-2.c:56:9: error: incompatible types when assigning to type \u2018__m128i\u2019 {aka \u2018__vector(2) long long int\u2019} from type \u2018int\u2019 [hjl@gnu-skx-1 gcc]$ FAIL: gcc.target/i386/avx512vl-vpclmulqdq-2.c (test for excess errors) -- H.J.
Re: [patch] Remove redundant intrinsics
Hello Julia! On 04 июн 10:27, Koval, Julia wrote: > Hi, > > Since pre-Icelake ISA already had 128bit version vpclmul and vaes, we already > have intrinsics for them(_mm_aesdec_si128, _mm_aesdeclast_si128, > _mm_aesenc_si128, _mm_aesenclast_si128, _mm_clmulepi64_si128). Therefore > intrinsics for them, introduced with Icelake instructions are redundant. This > patch removes them. Ok for trunk? > > gcc/ > * config/i386/vaesintrin.h (_mm_aesdec_epi128, _mm_aesdeclast_epi128, > _mm_aesenc_epi128, _mm_aesenclast_epi128): Remove. > * config/i386/vpclmulqdqintrin.h (_mm_clmulepi64_epi128): Remove. > > gcc/testsuite/ > * gcc.target/i386/avx512fvl-vaes-1.c: Remove 128bit versions from test. > * gcc.target/i386/vpclmulqdq.c: Ditto. Your patch is OK. I've checked it into main trunk. > > Thanks, > Julia -- Thanks, K