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] 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.tools@gmail.com]
> Sent: Tuesday, June 12, 2018 1:27 PM
> To: Koval, Julia <julia.koval@intel.com>
> Cc: GCC Patches <gcc-patches@gcc.gnu.org>; Kirill Yukhin
> <kirill.yukhin@gmail.com>
> Subject: Re: [patch] Remove redundant intrinsics
> 
> On Mon, Jun 4, 2018 at 3:27 AM, Koval, Julia <julia.koval@intel.com> 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.

Attachment: test_fix.patch
Description: test_fix.patch


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