diff options
author | liuhongt <hongtao.liu@intel.com> | 2022-11-17 16:19:31 +0800 |
---|---|---|
committer | liuhongt <hongtao.liu@intel.com> | 2022-11-21 09:05:38 +0800 |
commit | 183db4fb73a64bc4641604c30cdbbd9d9e8a6ed6 (patch) | |
tree | 0a769ce745ae20f457f132f0316e26cfa38462a1 /gcc | |
parent | fb98ede8ca007d5f7c1d3208f22b3094e2802702 (diff) | |
download | gcc-183db4fb73a64bc4641604c30cdbbd9d9e8a6ed6.zip gcc-183db4fb73a64bc4641604c30cdbbd9d9e8a6ed6.tar.gz gcc-183db4fb73a64bc4641604c30cdbbd9d9e8a6ed6.tar.bz2 |
define builtins for "shared" avxneconvert-avx512bf16vl builtins.
This should fix incorrect error when call those builtin with
-mavxneconvert and w/o -mavx512bf16 -mavx512vl.
gcc/ChangeLog:
* config/i386/i386-builtins.cc (def_builtin): Handle "shared"
avx512bf16vl-avxneconvert builtins.
gcc/testsuite/ChangeLog:
* gcc.target/i386/avxneconvert-1.c: New test.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/i386/i386-builtins.cc | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/avxneconvert-1.c | 11 |
2 files changed, 13 insertions, 0 deletions
diff --git a/gcc/config/i386/i386-builtins.cc b/gcc/config/i386/i386-builtins.cc index 9412cf1..eacdf07 100644 --- a/gcc/config/i386/i386-builtins.cc +++ b/gcc/config/i386/i386-builtins.cc @@ -285,6 +285,8 @@ def_builtin (HOST_WIDE_INT mask, HOST_WIDE_INT mask2, avx512vl exist. */ || (mask2 == OPTION_MASK_ISA2_AVXVNNI) || (mask2 == OPTION_MASK_ISA2_AVXIFMA) + || (mask2 == (OPTION_MASK_ISA2_AVXNECONVERT + | OPTION_MASK_ISA2_AVX512BF16)) || (lang_hooks.builtin_function == lang_hooks.builtin_function_ext_scope)) { diff --git a/gcc/testsuite/gcc.target/i386/avxneconvert-1.c b/gcc/testsuite/gcc.target/i386/avxneconvert-1.c new file mode 100644 index 0000000..2bb129c --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/avxneconvert-1.c @@ -0,0 +1,11 @@ +/* { dg-do compile } */ +/* { dg-options "-mavxneconvert -O2" } */ + +typedef float v8sf __attribute__((vector_size(32))); +typedef __bf16 v8bf __attribute__((vector_size(16))); + +v8bf +foo (v8sf a) +{ + return __builtin_ia32_cvtneps2bf16_v8sf (a); +} |