]> git.ipfire.org Git - thirdparty/gcc.git/commit
[PATCH 1/2] AVX10.2: Support media instructions
authorHongyu Wang <hongyu.wang@intel.com>
Mon, 26 Aug 2024 02:53:37 +0000 (10:53 +0800)
committerHaochen Jiang <haochen.jiang@intel.com>
Mon, 26 Aug 2024 03:10:50 +0000 (11:10 +0800)
commit8db80b2735782d793a83a9ef7eb012d83be7660d
tree9673ec7c3fb82f57411b7dc8b73db78ea3d39f7a
parentcba4566879192abdc54bdf76b010e22d67484129
[PATCH 1/2] AVX10.2: Support media instructions

gcc/ChangeLog

* config.gcc: Add avx10_2mediaintrin.h and
avx10_2-512mediaintrin.h.
* config/i386/i386-builtin.def: Add new builtins.
* config/i386/i386-builtins.cc (def_builtin): Handle shared
builtins between AVXVNNIINT8 and AVX10.2.
* config/i386/i386-expand.cc (ix86_check_builtin_isa_match):
Ditto.
* config/i386/immintrin.h: Include avx10_2mediaintrin.h and
avx10_2-512mediaintrin.h
* config/i386/sse.md: (VI4_AVX10_2): New.
(vpdp<vpdotprodtype>_<mode>): Add AVX10_2_256.
(vpdp<vpdotprodtype>_v16si): New define_insn.
(vpdp<vpdotprodtype>_<mode>_mask): Ditto.
(*vpdp<vpdotprodtype>_<mode>_maskz): Ditto.
(vpdp<vpdotprodtype>_<mode>_maskz): New expander.
* config/i386/avx10_2-512mediaintrin.h: New file.
* config/i386/avx10_2mediaintrin.h: Ditto.

gcc/testsuite/ChangeLog

* gcc.target/i386/avx512f-helper.h: Reuse AVX512F macros
for AVX10.
* gcc.target/i386/funcspec-56.inc: Add new target attribute.
* lib/target-supports.exp
(check_effective_target_avx10_2): New.
(check_effective_target_avx10_2_512): Ditto.
* gcc.target/i386/avx10-check.h: New test file.
* gcc.target/i386/avx10-helper.h: Ditto.
* gcc.target/i386/avx10_2-builtin-1.c: Ditto.
* gcc.target/i386/avx10_2-512-media-1.c: Ditto.
* gcc.target/i386/avx10_2-media-1.c: Ditto..
* gcc.target/i386/avxvnniint8-builtin.c: Ditto.
* gcc.target/i386/avx10_2-512-vpdpbssd-2.c: Ditto.
* gcc.target/i386/avx10_2-512-vpdpbssds-2.c: Ditto.
* gcc.target/i386/avx10_2-512-vpdpbsud-2.c: Ditto.
* gcc.target/i386/avx10_2-512-vpdpbsuds-2.c: Ditto.
* gcc.target/i386/avx10_2-512-vpdpbuud-2.c: Ditto.
* gcc.target/i386/avx10_2-512-vpdpbuuds-2.c: Ditto.
* gcc.target/i386/avx10_2-vpdpbssd-2.c: Ditto.
* gcc.target/i386/avx10_2-vpdpbssds-2.c: Ditto.
* gcc.target/i386/avx10_2-vpdpbsud-2.c: Ditto.
* gcc.target/i386/avx10_2-vpdpbsuds-2.c: Ditto.
* gcc.target/i386/avx10_2-vpdpbuud-2.c: Ditto.
* gcc.target/i386/avx10_2-vpdpbuuds-2.c: Ditto.

Co-authored-by: Haochen Jiang <haochen.jiang@intel.com>
30 files changed:
gcc/config.gcc
gcc/config/i386/avx10_2-512mediaintrin.h [new file with mode: 0644]
gcc/config/i386/avx10_2mediaintrin.h [new file with mode: 0644]
gcc/config/i386/i386-builtin.def
gcc/config/i386/i386-builtins.cc
gcc/config/i386/i386-expand.cc
gcc/config/i386/immintrin.h
gcc/config/i386/sse.md
gcc/testsuite/gcc.target/i386/avx10-check.h [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx10-helper.h [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx10-os-support.h [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx10_2-512-media-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx10_2-512-vpdpbssd-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx10_2-512-vpdpbssds-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx10_2-512-vpdpbsud-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx10_2-512-vpdpbsuds-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx10_2-512-vpdpbuud-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx10_2-512-vpdpbuuds-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx10_2-builtin-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx10_2-media-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx10_2-vpdpbssd-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx10_2-vpdpbssds-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx10_2-vpdpbsud-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx10_2-vpdpbsuds-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx10_2-vpdpbuud-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx10_2-vpdpbuuds-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512f-helper.h
gcc/testsuite/gcc.target/i386/avxvnniint8-builtin.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/funcspec-56.inc
gcc/testsuite/lib/target-supports.exp