diff options
author | liuhongt <hongtao.liu@intel.com> | 2021-09-02 12:49:46 +0800 |
---|---|---|
committer | liuhongt <hongtao.liu@intel.com> | 2021-09-03 13:04:41 +0800 |
commit | de6795bbf58c7085933a1f86a88d8193ea72e26b (patch) | |
tree | bfa2743cb55f8bf4f095283bfdb97df718a30fcb | |
parent | 9f7c2bad52e51ec88a71c0d50826bfa2e6f44b15 (diff) | |
download | gcc-de6795bbf58c7085933a1f86a88d8193ea72e26b.zip gcc-de6795bbf58c7085933a1f86a88d8193ea72e26b.tar.gz gcc-de6795bbf58c7085933a1f86a88d8193ea72e26b.tar.bz2 |
Remove macro check for __AMX_BF16/INT8/TILE__ in header file.
gcc/ChangeLog:
PR target/102166
* config/i386/amxbf16intrin.h : Remove macro check for __AMX_BF16__.
* config/i386/amxint8intrin.h : Remove macro check for __AMX_INT8__.
* config/i386/amxtileintrin.h : Remove macro check for __AMX_TILE__.
gcc/testsuite/ChangeLog:
PR target/102166
* g++.target/i386/pr102166.C: New test.
-rw-r--r-- | gcc/config/i386/amxbf16intrin.h | 2 | ||||
-rw-r--r-- | gcc/config/i386/amxint8intrin.h | 2 | ||||
-rw-r--r-- | gcc/config/i386/amxtileintrin.h | 2 | ||||
-rw-r--r-- | gcc/testsuite/g++.target/i386/pr102166.C | 20 |
4 files changed, 23 insertions, 3 deletions
diff --git a/gcc/config/i386/amxbf16intrin.h b/gcc/config/i386/amxbf16intrin.h index 8c24cdd..1d60e8e 100644 --- a/gcc/config/i386/amxbf16intrin.h +++ b/gcc/config/i386/amxbf16intrin.h @@ -34,7 +34,7 @@ #define __DISABLE_AMX_BF16__ #endif /* __AMX_BF16__ */ -#if defined(__x86_64__) && defined(__AMX_BF16__) +#if defined(__x86_64__) #define _tile_dpbf16ps_internal(dst,src1,src2) \ __asm__ volatile\ ("{tdpbf16ps\t%%tmm"#src2", %%tmm"#src1", %%tmm"#dst"|tdpbf16ps\t%%tmm"#dst", %%tmm"#src1", %%tmm"#src2"}" ::) diff --git a/gcc/config/i386/amxint8intrin.h b/gcc/config/i386/amxint8intrin.h index 180c243..dbb7b6c 100644 --- a/gcc/config/i386/amxint8intrin.h +++ b/gcc/config/i386/amxint8intrin.h @@ -34,7 +34,7 @@ #define __DISABLE_AMX_INT8__ #endif /* __AMX_INT8__ */ -#if defined(__x86_64__) && defined(__AMX_INT8__) +#if defined(__x86_64__) #define _tile_int8_dp_internal(name,dst,src1,src2) \ __asm__ volatile \ ("{"#name"\t%%tmm"#src2", %%tmm"#src1", %%tmm"#dst"|"#name"\t%%tmm"#dst", %%tmm"#src1", %%tmm"#src2"}" ::) diff --git a/gcc/config/i386/amxtileintrin.h b/gcc/config/i386/amxtileintrin.h index 16c8b6e..75d784a 100644 --- a/gcc/config/i386/amxtileintrin.h +++ b/gcc/config/i386/amxtileintrin.h @@ -34,7 +34,7 @@ #define __DISABLE_AMX_TILE__ #endif /* __AMX_TILE__ */ -#if defined(__x86_64__) && defined(__AMX_TILE__) +#if defined(__x86_64__) extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _tile_loadconfig (const void *__config) diff --git a/gcc/testsuite/g++.target/i386/pr102166.C b/gcc/testsuite/g++.target/i386/pr102166.C new file mode 100644 index 0000000..751cd2c --- /dev/null +++ b/gcc/testsuite/g++.target/i386/pr102166.C @@ -0,0 +1,20 @@ +/* PR target/102166 */ +/* { dg-do compile { target { ! ia32 } } } */ +/* { dg-options "-O2 -std=c++14" } */ + +#include<immintrin.h> +__attribute__((target("amx-tile"))) void amx() +{ + _tile_loadd(0, 0, 0); + _tile_release(); +} + +__attribute__((target("amx-int8"))) void amxint8() +{ + _tile_dpbssd(0, 1, 2); +} + +__attribute__((target("amx-bf16"))) void amxbf16() +{ + _tile_dpbf16ps (0, 1, 2); +} |