From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2078) id 5FC6D3858D35; Mon, 21 Nov 2022 01:05:52 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5FC6D3858D35 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1668992752; bh=KNvoIgMQBwFk1/3R+Te2nay+QbD/1MW5euCOxG2kByY=; h=From:To:Subject:Date:From; b=R76s6C2vXD2J7UAzau705eZgurWh9DLay+Jv9zn9FMVTgNbeBoebkfKQDnb33TmWQ OJEWRxik7ke+ZfqMhZtggcJ3PAJ7vixx2PoMOdnvdTsV2FZz526ZVqzNb6OJzJMYSm tlRLArfqz4qBOHJk+EuudQ2jRH6DP1UHtG/D1a/I= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: hongtao Liu To: gcc-cvs@gcc.gnu.org Subject: [gcc r13-4180] define builtins for "shared" avxneconvert-avx512bf16vl builtins. X-Act-Checkin: gcc X-Git-Author: liuhongt X-Git-Refname: refs/heads/master X-Git-Oldrev: fb98ede8ca007d5f7c1d3208f22b3094e2802702 X-Git-Newrev: 183db4fb73a64bc4641604c30cdbbd9d9e8a6ed6 Message-Id: <20221121010552.5FC6D3858D35@sourceware.org> Date: Mon, 21 Nov 2022 01:05:52 +0000 (GMT) List-Id: https://gcc.gnu.org/g:183db4fb73a64bc4641604c30cdbbd9d9e8a6ed6 commit r13-4180-g183db4fb73a64bc4641604c30cdbbd9d9e8a6ed6 Author: liuhongt Date: Thu Nov 17 16:19:31 2022 +0800 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. Diff: --- gcc/config/i386/i386-builtins.cc | 2 ++ gcc/testsuite/gcc.target/i386/avxneconvert-1.c | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/gcc/config/i386/i386-builtins.cc b/gcc/config/i386/i386-builtins.cc index 9412cf1acc8..eacdf072244 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 00000000000..2bb129c3f72 --- /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); +}