From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 7888) id 54A603858C01; Thu, 24 Aug 2023 06:38:28 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 54A603858C01 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1692859108; bh=+WfP55srqiSRrgnAXHMSuxYq929eKMLbfgmmWymVqK0=; h=From:To:Subject:Date:From; b=jlRz6vvdlsBlivSvgIMoyagdyJfHIRzJ5oYW88HJKskdmPs63WpFPzICwajeHoJXc hXpc2Hi/QUcE7UdYrMwgtzfNBC9E1rB4nj35LXmoxw3RRPEEl+vUBkwGBxqV4n5V5A iktoOSqq5KcTR9uKKfKygk8eKPTyKUrJ5Ei3Vj90= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Haochen Jiang To: gcc-cvs@gcc.gnu.org Subject: [gcc r14-3430] Revert "Emit a warning when disabling AVX512 with AVX10 enabled or disabling AVX10 with AVX512 enabl X-Act-Checkin: gcc X-Git-Author: Haochen Jiang X-Git-Refname: refs/heads/master X-Git-Oldrev: edb1a75b84e9c8e532c920b35fdf2789bb031637 X-Git-Newrev: cbd3b88382b5aea2781a2b7b34b0f27b4d0b19a0 Message-Id: <20230824063828.54A603858C01@sourceware.org> Date: Thu, 24 Aug 2023 06:38:28 +0000 (GMT) List-Id: https://gcc.gnu.org/g:cbd3b88382b5aea2781a2b7b34b0f27b4d0b19a0 commit r14-3430-gcbd3b88382b5aea2781a2b7b34b0f27b4d0b19a0 Author: Haochen Jiang Date: Thu Aug 24 14:38:18 2023 +0800 Revert "Emit a warning when disabling AVX512 with AVX10 enabled or disabling AVX10 with AVX512 enabled" This reverts commit 0288ab14732a16b3787546cdd159941eb7306cf3. Diff: --- gcc/common/config/i386/i386-common.cc | 68 ++++++------------------------ gcc/config/i386/driver-i386.cc | 2 +- gcc/testsuite/gcc.target/i386/avx10_1-11.c | 5 --- gcc/testsuite/gcc.target/i386/avx10_1-12.c | 13 ------ gcc/testsuite/gcc.target/i386/avx10_1-13.c | 5 --- gcc/testsuite/gcc.target/i386/avx10_1-14.c | 13 ------ 6 files changed, 15 insertions(+), 91 deletions(-) diff --git a/gcc/common/config/i386/i386-common.cc b/gcc/common/config/i386/i386-common.cc index 7c4a87a454d7..9a3590fa3467 100644 --- a/gcc/common/config/i386/i386-common.cc +++ b/gcc/common/config/i386/i386-common.cc @@ -388,46 +388,6 @@ set_malign_value (const char **flag, unsigned value) *flag = r; } -/* Emit a warning when using -mno-avx512{f,vl,bw,dq,cd,bf16,fp16,vbmi,vbmi2, - vnni,ifma,bitalg,vpopcntdq} with -mavx10.1 and above. */ -static bool -ix86_check_avx10 (struct gcc_options *opts) -{ - if (opts->x_ix86_isa_flags2 & opts->x_ix86_isa_flags2_explicit - & OPTION_MASK_ISA2_AVX10_1) - { - warning (0, "%<-mno-avx512{f,vl,bw,dq,cd,bf16,fp16,vbmi,vbmi2,vnni,ifma," - "bitalg,vpopcntdq}%> are ignored with %<-mavx10.1%> and above"); - return false; - } - - return true; -} - -/* Emit a warning when using -mno-avx10.1 with -mavx512{f,vl,bw,dq,cd,bf16, - fp16,vbmi,vbmi2,vnni,ifma,bitalg,vpopcntdq}. */ -static bool -ix86_check_avx512 (struct gcc_options *opts) -{ - if ((opts->x_ix86_isa_flags & opts->x_ix86_isa_flags_explicit - & (OPTION_MASK_ISA_AVX512F | OPTION_MASK_ISA_AVX512CD - | OPTION_MASK_ISA_AVX512DQ | OPTION_MASK_ISA_AVX512BW - | OPTION_MASK_ISA_AVX512VL | OPTION_MASK_ISA_AVX512IFMA - | OPTION_MASK_ISA_AVX512VBMI | OPTION_MASK_ISA_AVX512VBMI2 - | OPTION_MASK_ISA_AVX512VNNI | OPTION_MASK_ISA_AVX512VPOPCNTDQ - | OPTION_MASK_ISA_AVX512BITALG)) - || (opts->x_ix86_isa_flags2 & opts->x_ix86_isa_flags2_explicit - & (OPTION_MASK_ISA2_AVX512FP16 | OPTION_MASK_ISA2_AVX512BF16))) - { - warning (0, "%<-mno-avx10.1%> is ignored when using with " - "%<-mavx512{f,vl,bw,dq,cd,bf16,fp16,vbmi,vbmi2,vnni," - "ifma,bitalg,vpopcntdq}%>"); - return false; - } - - return true; -} - /* Implement TARGET_HANDLE_OPTION. */ bool @@ -649,7 +609,7 @@ ix86_handle_option (struct gcc_options *opts, opts->x_ix86_isa_flags |= OPTION_MASK_ISA_AVX512F_SET; opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_AVX512F_SET; } - else if (ix86_check_avx10 (opts)) + else { opts->x_ix86_isa_flags &= ~OPTION_MASK_ISA_AVX512F_UNSET; opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_AVX512F_UNSET; @@ -664,7 +624,7 @@ ix86_handle_option (struct gcc_options *opts, opts->x_ix86_isa_flags |= OPTION_MASK_ISA_AVX512CD_SET; opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_AVX512CD_SET; } - else if (ix86_check_avx10 (opts)) + else { opts->x_ix86_isa_flags &= ~OPTION_MASK_ISA_AVX512CD_UNSET; opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_AVX512CD_UNSET; @@ -938,7 +898,7 @@ ix86_handle_option (struct gcc_options *opts, opts->x_ix86_isa_flags |= OPTION_MASK_ISA_AVX512VBMI2_SET; opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_AVX512VBMI2_SET; } - else if (ix86_check_avx10 (opts)) + else { opts->x_ix86_isa_flags &= ~OPTION_MASK_ISA_AVX512VBMI2_UNSET; opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_AVX512VBMI2_UNSET; @@ -953,7 +913,7 @@ ix86_handle_option (struct gcc_options *opts, opts->x_ix86_isa_flags |= OPTION_MASK_ISA_AVX512FP16_SET; opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_AVX512FP16_SET; } - else if (ix86_check_avx10 (opts)) + else { opts->x_ix86_isa_flags2 &= ~OPTION_MASK_ISA2_AVX512FP16_UNSET; opts->x_ix86_isa_flags2_explicit |= OPTION_MASK_ISA2_AVX512FP16_UNSET; @@ -966,7 +926,7 @@ ix86_handle_option (struct gcc_options *opts, opts->x_ix86_isa_flags |= OPTION_MASK_ISA_AVX512VNNI_SET; opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_AVX512VNNI_SET; } - else if (ix86_check_avx10 (opts)) + else { opts->x_ix86_isa_flags &= ~OPTION_MASK_ISA_AVX512VNNI_UNSET; opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_AVX512VNNI_UNSET; @@ -980,7 +940,7 @@ ix86_handle_option (struct gcc_options *opts, opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_AVX512VPOPCNTDQ_SET; } - else if (ix86_check_avx10 (opts)) + else { opts->x_ix86_isa_flags &= ~OPTION_MASK_ISA_AVX512VPOPCNTDQ_UNSET; opts->x_ix86_isa_flags_explicit @@ -994,7 +954,7 @@ ix86_handle_option (struct gcc_options *opts, opts->x_ix86_isa_flags |= OPTION_MASK_ISA_AVX512BITALG_SET; opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_AVX512BITALG_SET; } - else if (ix86_check_avx10 (opts)) + else { opts->x_ix86_isa_flags &= ~OPTION_MASK_ISA_AVX512BITALG_UNSET; opts->x_ix86_isa_flags_explicit @@ -1010,7 +970,7 @@ ix86_handle_option (struct gcc_options *opts, opts->x_ix86_isa_flags |= OPTION_MASK_ISA_AVX512BW_SET; opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_AVX512BW_SET; } - else if (ix86_check_avx10 (opts)) + else { opts->x_ix86_isa_flags2 &= ~OPTION_MASK_ISA2_AVX512BF16_UNSET; opts->x_ix86_isa_flags2_explicit |= OPTION_MASK_ISA2_AVX512BF16_UNSET; @@ -1077,7 +1037,7 @@ ix86_handle_option (struct gcc_options *opts, opts->x_ix86_isa_flags |= OPTION_MASK_ISA_AVX512DQ_SET; opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_AVX512DQ_SET; } - else if (ix86_check_avx10 (opts)) + else { opts->x_ix86_isa_flags &= ~OPTION_MASK_ISA_AVX512DQ_UNSET; opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_AVX512DQ_UNSET; @@ -1090,7 +1050,7 @@ ix86_handle_option (struct gcc_options *opts, opts->x_ix86_isa_flags |= OPTION_MASK_ISA_AVX512BW_SET; opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_AVX512BW_SET; } - else if (ix86_check_avx10 (opts)) + else { opts->x_ix86_isa_flags &= ~OPTION_MASK_ISA_AVX512BW_UNSET; opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_AVX512BW_UNSET; @@ -1105,7 +1065,7 @@ ix86_handle_option (struct gcc_options *opts, opts->x_ix86_isa_flags |= OPTION_MASK_ISA_AVX512VL_SET; opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_AVX512VL_SET; } - else if (ix86_check_avx10 (opts)) + else { opts->x_ix86_isa_flags &= ~OPTION_MASK_ISA_AVX512VL_UNSET; opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_AVX512VL_UNSET; @@ -1118,7 +1078,7 @@ ix86_handle_option (struct gcc_options *opts, opts->x_ix86_isa_flags |= OPTION_MASK_ISA_AVX512IFMA_SET; opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_AVX512IFMA_SET; } - else if (ix86_check_avx10 (opts)) + else { opts->x_ix86_isa_flags &= ~OPTION_MASK_ISA_AVX512IFMA_UNSET; opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_AVX512IFMA_UNSET; @@ -1131,7 +1091,7 @@ ix86_handle_option (struct gcc_options *opts, opts->x_ix86_isa_flags |= OPTION_MASK_ISA_AVX512VBMI_SET; opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_AVX512VBMI_SET; } - else if (ix86_check_avx10 (opts)) + else { opts->x_ix86_isa_flags &= ~OPTION_MASK_ISA_AVX512VBMI_UNSET; opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_AVX512VBMI_UNSET; @@ -1407,7 +1367,7 @@ ix86_handle_option (struct gcc_options *opts, opts->x_ix86_isa_flags |= OPTION_MASK_ISA_AVX2_SET; opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_AVX2_SET; } - else if (ix86_check_avx512 (opts)) + else { opts->x_ix86_isa_flags2 &= ~OPTION_MASK_ISA2_AVX10_1_UNSET; opts->x_ix86_isa_flags2_explicit |= OPTION_MASK_ISA2_AVX10_1_UNSET; diff --git a/gcc/config/i386/driver-i386.cc b/gcc/config/i386/driver-i386.cc index 227ace6ff83b..08d0aed61837 100644 --- a/gcc/config/i386/driver-i386.cc +++ b/gcc/config/i386/driver-i386.cc @@ -854,7 +854,7 @@ const char *host_detect_local_cpu (int argc, const char **argv) options = concat (options, " ", isa_names_table[i].option, NULL); } - else if (isa_names_table[i].feature != FEATURE_AVX10_1) + else options = concat (options, neg_option, isa_names_table[i].option + 2, NULL); } diff --git a/gcc/testsuite/gcc.target/i386/avx10_1-11.c b/gcc/testsuite/gcc.target/i386/avx10_1-11.c deleted file mode 100644 index 10c8d781dd9c..000000000000 --- a/gcc/testsuite/gcc.target/i386/avx10_1-11.c +++ /dev/null @@ -1,5 +0,0 @@ -/* { dg-do compile { target { ! ia32 } } } */ -/* { dg-options "-O2 -march=x86-64 -mavx10.1 -mno-avx512f" } */ -/* { dg-warning "'-mno-avx512{f,vl,bw,dq,cd,bf16,fp16,vbmi,vbmi2,vnni,ifma,bitalg,vpopcntdq}' are ignored with '-mavx10.1' and above" "" { target *-*-* } 0 } */ - -#include "avx10_1-1.c" diff --git a/gcc/testsuite/gcc.target/i386/avx10_1-12.c b/gcc/testsuite/gcc.target/i386/avx10_1-12.c deleted file mode 100644 index b79c92ad0027..000000000000 --- a/gcc/testsuite/gcc.target/i386/avx10_1-12.c +++ /dev/null @@ -1,13 +0,0 @@ -/* { dg-do compile { target { ! ia32 } } } */ -/* { dg-options "-O2" } */ - -#include - -__attribute__ ((target ("avx10.1,no-avx512f"))) void -f1 () -{ /* { dg-warning "'-mno-avx512{f,vl,bw,dq,cd,bf16,fp16,vbmi,vbmi2,vnni,ifma,bitalg,vpopcntdq}' are ignored with '-mavx10.1' and above" } */ - register __m256d a __asm ("ymm17"); - register __m256d b __asm ("ymm16"); - a = _mm256_add_pd (a, b); - asm volatile ("" : "+v" (a)); -} diff --git a/gcc/testsuite/gcc.target/i386/avx10_1-13.c b/gcc/testsuite/gcc.target/i386/avx10_1-13.c deleted file mode 100644 index 156d59f1d350..000000000000 --- a/gcc/testsuite/gcc.target/i386/avx10_1-13.c +++ /dev/null @@ -1,5 +0,0 @@ -/* { dg-do compile { target { ! ia32 } } } */ -/* { dg-options "-O2 -march=x86-64 -mavx512f -mno-avx10.1" } */ -/* { dg-warning "'-mno-avx10.1' is ignored when using with '-mavx512{f,vl,bw,dq,cd,bf16,fp16,vbmi,vbmi2,vnni,ifma,bitalg,vpopcntdq}'" "" { target *-*-* } 0 } */ - -#include "avx10_1-2.c" diff --git a/gcc/testsuite/gcc.target/i386/avx10_1-14.c b/gcc/testsuite/gcc.target/i386/avx10_1-14.c deleted file mode 100644 index 23d2ba8bc640..000000000000 --- a/gcc/testsuite/gcc.target/i386/avx10_1-14.c +++ /dev/null @@ -1,13 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-march=x86-64" } */ -/* { dg-final { scan-assembler "%zmm" } } */ - -typedef double __m512d __attribute__ ((__vector_size__ (64), __may_alias__)); - -__attribute__ ((target ("avx512f,no-avx10.1"))) __m512d -foo () -{ /* { dg-warning "'-mno-avx10.1' is ignored when using with '-mavx512{f,vl,bw,dq,cd,bf16,fp16,vbmi,vbmi2,vnni,ifma,bitalg,vpopcntdq}'" } */ - __m512d a, b; - a = a + b; - return a; -}