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] Add AVX512 k-mask intrinsics


2017-01-20 20:08 GMT+03:00 Kirill Yukhin <kirill.yukhin@gmail.com>:
> Hi,
> On 20 Jan 14:46, Uros Bizjak wrote:
>> On Fri, Jan 20, 2017 at 2:32 PM, Andrew Senkevich
>> <andrew.n.senkevich@gmail.com> wrote:
>>
>> > here is intrinsics for ktest{b,w,d,q} and kortest{b,w,d,q}. Is it Ok?
>> >
>> > gcc/
>> >     * config/i386/avx512bwintrin.h: Add k-mask test, kortest intrinsics.
>> >     * config/i386/avx512dqintrin.h: Ditto.
>> >     * config/i386/avx512fintrin.h: Ditto.
>> >     * gcc/config/i386/i386.c: Handle new builtins.
>> >     * config/i386/i386-builtin.def: Add new builtins.
>> >     * config/i386/sse.md (ktest<mode>, kortest<mode>): New.
>> >     (UNSPEC_KORTEST, UNSPEC_KTEST): New.
>> >
>> > gcc/testsuite/
>> >     * gcc.target/i386/avx512bw-ktestd-1.c: New test.
>> >     * gcc.target/i386/avx512bw-ktestq-1.c: Ditto.
>> >     * gcc.target/i386/avx512dq-ktestb-1.c: Ditto.
>> >     * gcc.target/i386/avx512f-ktestw-1.c: Ditto.
>> >     * gcc.target/i386/avx512bw-kortestd-1.c: Ditto.
>> >     * gcc.target/i386/avx512bw-kortestq-1.c: Ditto.
>> >     * gcc.target/i386/avx512dq-kortestb-1.c: Ditto.
>> >     * gcc.target/i386/avx512f-kortestw-1.c: Ditto.
>>
>> IMO, you should add some runtime tests.
> +1
>
>> Otherwise, the patch LGTM, but I'l leave the final approval to Kirill.
> Anyway trunk is frozen, so I suppose you'll need OK from RM.

Kirill, attached with runtime tests.

Richard, are you OK to approve commit of this patch?
It is last part of k-mask intrinsics, it would be great to have all
intrinsics of this type available in single GCC release..

Updated changelog:

gcc/
    * config/i386/avx512bwintrin.h: Add k-mask test, kortest intrinsics.
    * config/i386/avx512dqintrin.h: Ditto.
    * config/i386/avx512fintrin.h: Ditto.
    * gcc/config/i386/i386.c: Handle new builtins.
    * config/i386/i386-builtin.def: Add new builtins.
    * config/i386/sse.md (ktest<mode>, kortest<mode>): New.
    (UNSPEC_KORTEST, UNSPEC_KTEST): New.

gcc/testsuite/
    * gcc.target/i386/avx512bw-ktestd-1.c: New test.
    * gcc.target/i386/avx512bw-ktestq-1.c: Ditto.
    * gcc.target/i386/avx512dq-ktestb-1.c: Ditto.
    * gcc.target/i386/avx512f-ktestw-1.c: Ditto.
    * gcc.target/i386/avx512bw-kortestd-1.c: Ditto.
    * gcc.target/i386/avx512bw-kortestq-1.c: Ditto.
    * gcc.target/i386/avx512dq-kortestb-1.c: Ditto.
    * gcc.target/i386/avx512f-kortestw-1.c: Ditto.
    * gcc.target/i386/avx512bw-ktestd-2.c: Ditt
    * gcc.target/i386/avx512bw-ktestq-2.c: Ditto.
    * gcc.target/i386/avx512dq-ktestb-2.c: Ditto.
    * gcc.target/i386/avx512f-ktestw-2.c: Ditto.
    * gcc.target/i386/avx512bw-kortestd-2.c: Ditto.
    * gcc.target/i386/avx512bw-kortestq-2.c: Ditto.
    * gcc.target/i386/avx512dq-kortestb-2.c: Ditto.
    * gcc.target/i386/avx512f-kortestw-2.c: Ditto.


--
WBR,
Andrew

Attachment: avx512-kmask-intrin-part5.patch
Description: Binary data


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