]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
i386: Raise deprecate warning for -mavx10.1-256/512 and -mevex512 while add -mavx10...
authorHaochen Jiang <haochen.jiang@intel.com>
Mon, 24 Mar 2025 06:24:39 +0000 (14:24 +0800)
committerHaochen Jiang <haochen.jiang@intel.com>
Mon, 24 Mar 2025 06:24:39 +0000 (14:24 +0800)
When AVX10.1 options are added into GCC 14, E-core is supposed to
support up to 256 bit vector width, while P-core up to 512 bit vector
width. Therefore, we added avx10.1-256 and avx10.1-512 options into
compiler since there will be real platforms with 256 bit only support.
At the same time, for old platforms could also compile a 256 bit only
binary, we introduced -mno-evex512 to disable 512 bit vector.

However, all the future platforms will now support 512 bit vector width,
including P-core and E-core. It will result in no need for split the
option for vector width. Therefore, we will remove them in this patch.
Unlike AVX10.2 options, AVX10.1 options has been there in a major
release, so we have to raise a deprecate warning in GCC 15 and remove
them in GCC 16. At the same time, to align with avx10.2 options, we will
add just removed avx10.1 option back with warning to mention its
behavior change.

gcc/ChangeLog:

* common/config/i386/cpuinfo.h
(get_available_features): Change to FEATURE_AVX10_1.
* common/config/i386/i386-common.cc
(OPTION_MASK_ISA2_AVX10_1_512_SET): Renamed to ...
(OPTION_MASK_ISA2_AVX10_1_SET): ... this.
(OPTION_MASK_ISA2_AVX10_2_SET): Use renamed macro.
(OPTION_MASK_ISA2_AVX10_1_UNSET): Ditto.
(ix86_handle_option): Ditto.
(processor_alias_table): Use P_PROC_AVX10_1.
* common/config/i386/i386-cpuinfo.h
(enum feature_priority): Rename from AVX10_1_512 to AVX10_1.
(enum processor_features): Ditto.
* common/config/i386/i386-isas.h: Add avx10.1.
* config/i386/driver-i386.cc
(host_detect_local_cpu): Use renamed enum.
* config/i386/i386-c.cc
(ix86_target_macros_internal): Rename to avx10.1.
* config/i386/i386-isa.def (AVX10_1_512): Rename to ...
(AVX10_1): ... this.
* config/i386/i386-options.cc (isa2_opts): Rename to avx10.1.
(ix86_valid_target_attribute_inner_p): Add avx10.1.
(ix86_option_override_internal): Rename to AVX10_1.
Revise warnings to mention behavior change for option
combination in GCC 16.
* config/i386/i386.h (PTA_DIAMONDRAPIDS): Use AVX10_1.
* config/i386/i386.opt: Add avx10.1.
Add deprecate warnings for mevex512 and mavx10.1-256/512.
* config/i386/i386.opt.urls: Add avx10.1.
* doc/extend.texi: Ditto.
* doc/sourcebuild.texi: Ditto.

gcc/testsuite/ChangeLog:

* gcc.target/i386/avx10-check.h: Change to avx10.1.
* gcc.target/i386/avx10_1-1.c: Add warning check.
* gcc.target/i386/avx10_1-10.c: Ditto.
* gcc.target/i386/avx10_1-11.c: Ditto.
* gcc.target/i386/avx10_1-12.c: Ditto.
* gcc.target/i386/avx10_1-13.c: Ditto.
* gcc.target/i386/avx10_1-15.c: Ditto.
* gcc.target/i386/avx10_1-16.c: Ditto.
* gcc.target/i386/avx10_1-18.c: Ditto.
* gcc.target/i386/avx10_1-19.c: Ditto.
* gcc.target/i386/avx10_1-2.c: Ditto.
* gcc.target/i386/avx10_1-20.c: Ditto.
* gcc.target/i386/avx10_1-21.c: Ditto.
* gcc.target/i386/avx10_1-22.c: Ditto.
* gcc.target/i386/avx10_1-23.c: Ditto.
* gcc.target/i386/avx10_1-26.c: Ditto.
* gcc.target/i386/avx10_1-3.c: Ditto.
* gcc.target/i386/avx10_1-4.c: Ditto.
* gcc.target/i386/avx10_1-7.c: Ditto.
* gcc.target/i386/avx10_1-8.c: Ditto.
* gcc.target/i386/avx10_1-9.c: Ditto.
* gcc.target/i386/noevex512-1.c: Ditto.
* gcc.target/i386/noevex512-2.c: Ditto.
* gcc.target/i386/pr111068.c: Ditto.
* gcc.target/i386/pr111907.c: Ditto.
* gcc.target/i386/pr117240_avx512f.c: Ditto.
* gcc.target/i386/pr117304-1.c: Ditto.
* gcc.target/i386/pr117946.c: Ditto.
* gcc.target/i386/avx10_1-24.c: Removed.
* gcc.target/i386/avx10_1-25.c: Removed.
* gcc.target/i386/avx10_1-5.c: Removed.
* gcc.target/i386/avx10_1-6.c: Removed.

45 files changed:
gcc/common/config/i386/cpuinfo.h
gcc/common/config/i386/i386-common.cc
gcc/common/config/i386/i386-cpuinfo.h
gcc/common/config/i386/i386-isas.h
gcc/config/i386/driver-i386.cc
gcc/config/i386/i386-c.cc
gcc/config/i386/i386-isa.def
gcc/config/i386/i386-options.cc
gcc/config/i386/i386.h
gcc/config/i386/i386.opt
gcc/config/i386/i386.opt.urls
gcc/doc/extend.texi
gcc/doc/sourcebuild.texi
gcc/testsuite/gcc.target/i386/avx10-check.h
gcc/testsuite/gcc.target/i386/avx10_1-1.c
gcc/testsuite/gcc.target/i386/avx10_1-10.c
gcc/testsuite/gcc.target/i386/avx10_1-11.c
gcc/testsuite/gcc.target/i386/avx10_1-12.c
gcc/testsuite/gcc.target/i386/avx10_1-13.c
gcc/testsuite/gcc.target/i386/avx10_1-15.c
gcc/testsuite/gcc.target/i386/avx10_1-16.c
gcc/testsuite/gcc.target/i386/avx10_1-18.c
gcc/testsuite/gcc.target/i386/avx10_1-19.c
gcc/testsuite/gcc.target/i386/avx10_1-2.c
gcc/testsuite/gcc.target/i386/avx10_1-20.c
gcc/testsuite/gcc.target/i386/avx10_1-21.c
gcc/testsuite/gcc.target/i386/avx10_1-22.c
gcc/testsuite/gcc.target/i386/avx10_1-23.c
gcc/testsuite/gcc.target/i386/avx10_1-24.c [deleted file]
gcc/testsuite/gcc.target/i386/avx10_1-25.c [deleted file]
gcc/testsuite/gcc.target/i386/avx10_1-26.c
gcc/testsuite/gcc.target/i386/avx10_1-3.c
gcc/testsuite/gcc.target/i386/avx10_1-4.c
gcc/testsuite/gcc.target/i386/avx10_1-5.c [deleted file]
gcc/testsuite/gcc.target/i386/avx10_1-6.c [deleted file]
gcc/testsuite/gcc.target/i386/avx10_1-7.c
gcc/testsuite/gcc.target/i386/avx10_1-8.c
gcc/testsuite/gcc.target/i386/avx10_1-9.c
gcc/testsuite/gcc.target/i386/noevex512-1.c
gcc/testsuite/gcc.target/i386/noevex512-2.c
gcc/testsuite/gcc.target/i386/pr111068.c
gcc/testsuite/gcc.target/i386/pr111907.c
gcc/testsuite/gcc.target/i386/pr117240_avx512f.c
gcc/testsuite/gcc.target/i386/pr117304-1.c
gcc/testsuite/gcc.target/i386/pr117946.c

index f8f288d17b84767bf79dcaea7bf6322b19759719..e7e575c79d453e995f22003ed79982e2898a7cc7 100644 (file)
@@ -1043,11 +1043,11 @@ get_available_features (struct __processor_model *cpu_model,
          set_feature (FEATURE_AVX10_2);
          /* Fall through.  */
        case 1:
-         set_feature (FEATURE_AVX10_1_512);
+         set_feature (FEATURE_AVX10_1);
          set_feature (FEATURE_AVX10_1_256);
          break;
        default:
-         set_feature (FEATURE_AVX10_1_512);
+         set_feature (FEATURE_AVX10_1);
          set_feature (FEATURE_AVX10_1_256);
          break;
        }
index df87bb4aaed319a01461e24efda58cdd35e24184..80aec3244bc3b86f6fe6f67415a0fdd534356943 100644 (file)
@@ -120,10 +120,10 @@ along with GCC; see the file COPYING3.  If not see
 #define OPTION_MASK_ISA2_EVEX512_SET OPTION_MASK_ISA2_EVEX512
 #define OPTION_MASK_ISA2_USER_MSR_SET OPTION_MASK_ISA2_USER_MSR
 #define OPTION_MASK_ISA2_AVX10_1_256_SET OPTION_MASK_ISA2_AVX10_1_256
-#define OPTION_MASK_ISA2_AVX10_1_512_SET \
-  (OPTION_MASK_ISA2_AVX10_1_256_SET | OPTION_MASK_ISA2_AVX10_1_512)
+#define OPTION_MASK_ISA2_AVX10_1_SET \
+  (OPTION_MASK_ISA2_AVX10_1_256_SET | OPTION_MASK_ISA2_AVX10_1)
 #define OPTION_MASK_ISA2_AVX10_2_SET \
-  (OPTION_MASK_ISA2_AVX10_1_512_SET | OPTION_MASK_ISA2_AVX10_2)
+  (OPTION_MASK_ISA2_AVX10_1_SET | OPTION_MASK_ISA2_AVX10_2)
 #define OPTION_MASK_ISA2_AMX_AVX512_SET \
   (OPTION_MASK_ISA2_AMX_TILE_SET | OPTION_MASK_ISA2_AVX10_2_SET \
    | OPTION_MASK_ISA2_AMX_AVX512)
@@ -323,7 +323,7 @@ along with GCC; see the file COPYING3.  If not see
 #define OPTION_MASK_ISA2_EVEX512_UNSET OPTION_MASK_ISA2_EVEX512
 #define OPTION_MASK_ISA2_USER_MSR_UNSET OPTION_MASK_ISA2_USER_MSR
 #define OPTION_MASK_ISA2_AVX10_1_UNSET \
-  (OPTION_MASK_ISA2_AVX10_1_256 | OPTION_MASK_ISA2_AVX10_1_512 \
+  (OPTION_MASK_ISA2_AVX10_1_256 | OPTION_MASK_ISA2_AVX10_1 \
    | OPTION_MASK_ISA2_AVX10_2_UNSET)
 #define OPTION_MASK_ISA2_AVX10_2_UNSET \
   (OPTION_MASK_ISA2_AVX10_2 | OPTION_MASK_ISA2_AMX_AVX512_UNSET)
@@ -1378,11 +1378,11 @@ ix86_handle_option (struct gcc_options *opts,
        }
       return true;
 
-    case OPT_mavx10_1_512:
+    case OPT_mavx10_1:
       if (value)
        {
-         opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_AVX10_1_512_SET;
-         opts->x_ix86_isa_flags2_explicit |= OPTION_MASK_ISA2_AVX10_1_512_SET;
+         opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_AVX10_1_SET;
+         opts->x_ix86_isa_flags2_explicit |= OPTION_MASK_ISA2_AVX10_1_SET;
          opts->x_ix86_isa_flags |= OPTION_MASK_ISA_AVX2_SET;
          opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_AVX2_SET;
        }
@@ -2311,10 +2311,10 @@ const pta processor_alias_table[] =
   {"meteorlake", PROCESSOR_ALDERLAKE, CPU_HASWELL, PTA_ALDERLAKE,
     M_CPU_SUBTYPE (INTEL_COREI7_ALDERLAKE), P_PROC_AVX2},
   {"graniterapids", PROCESSOR_GRANITERAPIDS, CPU_HASWELL, PTA_GRANITERAPIDS,
-    M_CPU_SUBTYPE (INTEL_COREI7_GRANITERAPIDS), P_PROC_AVX10_1_512},
+    M_CPU_SUBTYPE (INTEL_COREI7_GRANITERAPIDS), P_PROC_AVX10_1},
   {"graniterapids-d", PROCESSOR_GRANITERAPIDS_D, CPU_HASWELL,
     PTA_GRANITERAPIDS_D, M_CPU_SUBTYPE (INTEL_COREI7_GRANITERAPIDS_D),
-    P_PROC_AVX10_1_512},
+    P_PROC_AVX10_1},
   {"arrowlake", PROCESSOR_ARROWLAKE, CPU_HASWELL, PTA_ARROWLAKE,
     M_CPU_SUBTYPE (INTEL_COREI7_ARROWLAKE), P_PROC_AVX2},
   {"arrowlake-s", PROCESSOR_ARROWLAKE_S, CPU_HASWELL, PTA_ARROWLAKE_S,
@@ -2324,7 +2324,7 @@ const pta processor_alias_table[] =
   {"pantherlake", PROCESSOR_PANTHERLAKE, CPU_HASWELL, PTA_PANTHERLAKE,
     M_CPU_SUBTYPE (INTEL_COREI7_PANTHERLAKE), P_PROC_AVX2},
   {"diamondrapids", PROCESSOR_DIAMONDRAPIDS, CPU_HASWELL, PTA_DIAMONDRAPIDS,
-    M_CPU_SUBTYPE (INTEL_COREI7_DIAMONDRAPIDS), P_PROC_AVX512F},
+    M_CPU_SUBTYPE (INTEL_COREI7_DIAMONDRAPIDS), P_PROC_AVX10_1},
   {"bonnell", PROCESSOR_BONNELL, CPU_ATOM, PTA_BONNELL,
     M_CPU_TYPE (INTEL_BONNELL), P_PROC_SSSE3},
   {"atom", PROCESSOR_BONNELL, CPU_ATOM, PTA_BONNELL,
index 9a3d6448411d184b1904123786f1af772aafea18..6b2ab0a767149c27c46c81aa1b436b7b5dababc2 100644 (file)
@@ -149,8 +149,8 @@ enum feature_priority
   P_PROC_AVX512F,
   P_X86_64_V4,
   P_AVX10_1_256,
-  P_AVX10_1_512,
-  P_PROC_AVX10_1_512,
+  P_AVX10_1,
+  P_PROC_AVX10_1,
   P_PROC_DYNAMIC
 };
 
@@ -267,7 +267,7 @@ enum processor_features
   FEATURE_APX_F,
   FEATURE_USER_MSR,
   FEATURE_AVX10_1_256,
-  FEATURE_AVX10_1_512,
+  FEATURE_AVX10_1,
   FEATURE_AVX10_2 = 116,
   FEATURE_AMX_AVX512,
   FEATURE_AMX_TF32,
index e6a1d36a77224b5319a3c9d9b4889b881aa237a5..55af985f16037ca4d882b18c567fc50391aaf947 100644 (file)
@@ -184,7 +184,8 @@ ISA_NAMES_TABLE_START
   ISA_NAMES_TABLE_ENTRY("apxf", FEATURE_APX_F, P_NONE, "-mapxf")
   ISA_NAMES_TABLE_ENTRY("usermsr", FEATURE_USER_MSR, P_NONE, "-musermsr")
   ISA_NAMES_TABLE_ENTRY("avx10.1-256", FEATURE_AVX10_1_256, P_AVX10_1_256, "-mavx10.1-256")
-  ISA_NAMES_TABLE_ENTRY("avx10.1-512", FEATURE_AVX10_1_512, P_AVX10_1_512, "-mavx10.1-512")
+  ISA_NAMES_TABLE_ENTRY("avx10.1", FEATURE_AVX10_1, P_AVX10_1, "-mavx10.1")
+  ISA_NAMES_TABLE_ENTRY("avx10.1-512", FEATURE_AVX10_1, P_AVX10_1, "-mavx10.1-512")
   ISA_NAMES_TABLE_ENTRY("avx10.2", FEATURE_AVX10_2, P_NONE, "-mavx10.2")
   ISA_NAMES_TABLE_ENTRY("amx-avx512", FEATURE_AMX_AVX512, P_NONE,
                        "-mamx-avx512")
index 82bdbafba4ea5e7eeefb793fb8ea854003c61fc5..1ff05e52ab3d3003938129da3e81410d6a810ebc 100644 (file)
@@ -912,7 +912,7 @@ const char *host_detect_local_cpu (int argc, const char **argv)
            /* Never push -mno-avx10.1-{256,512} under -march=native to
               avoid unnecessary warnings when building libraries.  */
            else if (isa_names_table[i].feature != FEATURE_AVX10_1_256
-                    && isa_names_table[i].feature != FEATURE_AVX10_1_512
+                    && isa_names_table[i].feature != FEATURE_AVX10_1
                     && check_avx512_features (cpu_model, cpu_features2,
                                               isa_names_table[i].feature))
              options = concat (options, neg_option,
index e6daba94a6fb5860becce7dff7728c79326aa50b..0a320ca772a6b491024dfd9e9e92def9deb4230a 100644 (file)
@@ -734,12 +734,9 @@ ix86_target_macros_internal (HOST_WIDE_INT isa_flag,
   if (isa_flag2 & OPTION_MASK_ISA2_USER_MSR)
     def_or_undef (parse_in, "__USER_MSR__");
   if (isa_flag2 & OPTION_MASK_ISA2_AVX10_1_256)
-    {
-      def_or_undef (parse_in, "__AVX10_1_256__");
-      def_or_undef (parse_in, "__AVX10_1__");
-    }
-  if (isa_flag2 & OPTION_MASK_ISA2_AVX10_1_512)
-    def_or_undef (parse_in, "__AVX10_1_512__");
+    def_or_undef (parse_in, "__AVX10_1_256__");
+  if (isa_flag2 & OPTION_MASK_ISA2_AVX10_1)
+    def_or_undef (parse_in, "__AVX10_1__");
   if (isa_flag2 & OPTION_MASK_ISA2_APX_F)
     def_or_undef (parse_in, "__APX_F__");
   if (ix86_apx_inline_asm_use_gpr32)
index 13cb49a75bb39ba9cd3e1a6aaf882e496cf954fc..19d78d7e44ea99ec6dbced616957f705e6ce69b2 100644 (file)
@@ -120,7 +120,7 @@ DEF_PTA(APX_F)
 DEF_PTA(USER_MSR)
 DEF_PTA(EVEX512)
 DEF_PTA(AVX10_1_256)
-DEF_PTA(AVX10_1_512)
+DEF_PTA(AVX10_1)
 DEF_PTA(AVX10_2)
 DEF_PTA(AMX_AVX512)
 DEF_PTA(AMX_TF32)
index a48a939db3f762deec1141a574c85f77fd694283..91f59e16fd5c0490bb2f9777a113b2d52510aab9 100644 (file)
@@ -262,7 +262,7 @@ static struct ix86_target_opts isa2_opts[] =
   { "-mevex512",       OPTION_MASK_ISA2_EVEX512 },
   { "-musermsr",       OPTION_MASK_ISA2_USER_MSR },
   { "-mavx10.1-256",   OPTION_MASK_ISA2_AVX10_1_256 },
-  { "-mavx10.1-512",   OPTION_MASK_ISA2_AVX10_1_512 },
+  { "-mavx10.1",       OPTION_MASK_ISA2_AVX10_1 },
   { "-mavx10.2",       OPTION_MASK_ISA2_AVX10_2 },
   { "-mamx-avx512",    OPTION_MASK_ISA2_AMX_AVX512 },
   { "-mamx-tf32",      OPTION_MASK_ISA2_AMX_TF32 },
@@ -1134,7 +1134,8 @@ ix86_valid_target_attribute_inner_p (tree fndecl, tree args, char *p_strings[],
     IX86_ATTR_ISA ("evex512", OPT_mevex512),
     IX86_ATTR_ISA ("usermsr", OPT_musermsr),
     IX86_ATTR_ISA ("avx10.1-256", OPT_mavx10_1_256),
-    IX86_ATTR_ISA ("avx10.1-512", OPT_mavx10_1_512),
+    IX86_ATTR_ISA ("avx10.1", OPT_mavx10_1),
+    IX86_ATTR_ISA ("avx10.1-512", OPT_mavx10_1),
     IX86_ATTR_ISA ("avx10.2", OPT_mavx10_2),
     IX86_ATTR_ISA ("amx-avx512", OPT_mamx_avx512),
     IX86_ATTR_ISA ("amx-tf32", OPT_mamx_tf32),
@@ -2673,7 +2674,7 @@ ix86_option_override_internal (bool main_args_p,
      2. Both AVX10.1-256 and AVX512 w/o 512 bit vector width are enabled with no
        explicit disable on other AVX512 features.
      3. Both AVX10.1 and AVX512 are disabled.  */
-  if (TARGET_AVX10_1_512_P (opts->x_ix86_isa_flags2))
+  if (TARGET_AVX10_1_P (opts->x_ix86_isa_flags2))
     {
       if (opts->x_ix86_no_avx512_explicit
          && (((~(avx512_isa_flags & opts->x_ix86_isa_flags)
@@ -2683,7 +2684,9 @@ ix86_option_override_internal (bool main_args_p,
                   & ((avx512_isa_flags2 | OPTION_MASK_ISA2_EVEX512)
                      & opts->x_ix86_isa_flags2_explicit)))))
        warning (0, "%<-mno-evex512%> or %<-mno-avx512XXX%> cannot disable "
-                   "AVX10 instructions when AVX10.1-512 is available");
+                   "AVX10 instructions when AVX10.1-512 is available in GCC 15, "
+                   "behavior will change to it will disable that part of "
+                   "AVX512 instructions since GCC 16");
     }
   else if (TARGET_AVX10_1_256_P (opts->x_ix86_isa_flags2))
     {
@@ -2719,18 +2722,21 @@ ix86_option_override_internal (bool main_args_p,
                        & (avx512_isa_flags2
                           & opts->x_ix86_isa_flags2_explicit)))))
        warning (0, "%<-mno-avx512XXX%> cannot disable AVX10 instructions "
-                   "when AVX10 is available");
+                   "when AVX10 is available in GCC 15, behavior will change "
+                   "to it will disable that part of AVX512 instructions since "
+                   "GCC 16");
     }
   else if (TARGET_AVX512F_P (opts->x_ix86_isa_flags)
           && (OPTION_MASK_ISA_AVX512F & opts->x_ix86_isa_flags_explicit))
     {
       if (opts->x_ix86_no_avx10_1_explicit
-         && ((OPTION_MASK_ISA2_AVX10_1_256 | OPTION_MASK_ISA2_AVX10_1_512)
+         && ((OPTION_MASK_ISA2_AVX10_1_256 | OPTION_MASK_ISA2_AVX10_1)
              & opts->x_ix86_isa_flags2_explicit))
        {
-         warning (0, "%<-mno-avx10.1-256, -mno-avx10.1-512%> "
-                     "cannot disable AVX512 instructions when "
-                     "%<-mavx512XXX%>");
+         warning (0, "%<-mno-avx10.1-256, -mno-avx10.1-512%> cannot disable "
+                     "AVX512 instructions when %<-mavx512XXX%> in GCC 15, "
+                     "behavior will change to it will disable all the "
+                     "instructions in GCC 16");
          /* Reset those unset AVX512 flags set by AVX10 options when AVX10 is
             disabled.  */
          if (OPTION_MASK_ISA2_AVX10_1_256 & opts->x_ix86_isa_flags2_explicit)
@@ -2750,7 +2756,7 @@ ix86_option_override_internal (bool main_args_p,
   /* Set EVEX512 if one of the following conditions meets:
      1. AVX512 is enabled while EVEX512 is not explicitly set/unset.
      2. AVX10.1-512 is enabled.  */
-  if (TARGET_AVX10_1_512_P (opts->x_ix86_isa_flags2)
+  if (TARGET_AVX10_1_P (opts->x_ix86_isa_flags2)
       || (TARGET_AVX512F_P (opts->x_ix86_isa_flags)
          && !(opts->x_ix86_isa_flags2_explicit & OPTION_MASK_ISA2_EVEX512)))
     opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_EVEX512;
index c797ac1c5d037fdcdc1f4e5a8b57523644cb15eb..13da3d888d4ed97cf71ffc5e5d0c0e75e9e480de 100644 (file)
@@ -2449,7 +2449,7 @@ constexpr wide_int_bitmask PTA_DIAMONDRAPIDS = PTA_SKYLAKE | PTA_PKU | PTA_SHA
   | PTA_WBNOINVD | PTA_CLWB | PTA_MOVDIRI | PTA_MOVDIR64B | PTA_ENQCMD
   | PTA_CLDEMOTE | PTA_PTWRITE | PTA_WAITPKG | PTA_SERIALIZE | PTA_TSXLDTRK
   | PTA_AMX_TILE | PTA_AMX_INT8 | PTA_AMX_BF16 | PTA_UINTR | PTA_AVXVNNI
-  | PTA_AMX_FP16 | PTA_PREFETCHI | PTA_AMX_COMPLEX | PTA_AVX10_1_512
+  | PTA_AMX_FP16 | PTA_PREFETCHI | PTA_AMX_COMPLEX | PTA_AVX10_1
   | PTA_AVXIFMA | PTA_AVXNECONVERT | PTA_AVXVNNIINT16 | PTA_AVXVNNIINT8
   | PTA_CMPCCXADD | PTA_SHA512 | PTA_SM3 | PTA_SM4 | PTA_AVX10_2
   | PTA_APX_F | PTA_AMX_AVX512 | PTA_AMX_FP8 | PTA_AMX_TF32 | PTA_AMX_TRANSPOSE
index ff864b68720257fdffb56dfdf3848d1aa433ecd9..27d34bd64eaafab17227b106c32bca05daa305e7 100644 (file)
@@ -1356,7 +1356,7 @@ Target Var(ix86_apx_inline_asm_use_gpr32) Init(0)
 Enable GPR32 in inline asm when APX_F enabled.
 
 mevex512
-Target Mask(ISA2_EVEX512) Var(ix86_isa_flags2) Save
+Target Mask(ISA2_EVEX512) Var(ix86_isa_flags2) Save Warn(%<-mevex512%> will be deprecated in GCC 16 due to all machines 512 bit vector size supported)
 Support 512 bit vector built-in functions and code generation.
 
 musermsr
@@ -1364,12 +1364,17 @@ Target Mask(ISA2_USER_MSR) Var(ix86_isa_flags2) Save
 Support USER_MSR built-in functions and code generation.
 
 mavx10.1-256
-Target Mask(ISA2_AVX10_1_256) Var(ix86_isa_flags2) Save
+Target Mask(ISA2_AVX10_1_256) Var(ix86_isa_flags2) Save Warn(%<-mavx10.1%> is aliased to 512 bit since GCC14.3 and GCC15.1 while %<-mavx10.1-256%> and %<-mavx10.1-512%> will be deprecated in GCC 16 due to all machines 512 bit vector size supported)
 Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2,
 and AVX10.1-256 built-in functions and code generation.
 
+mavx10.1
+Target Mask(ISA2_AVX10_1) Var(ix86_isa_flags2) Save Warn(%<-mavx10.1%> is aliased to 512 bit since GCC14.3 and GCC15.1 while %<-mavx10.1-256%> and %<-mavx10.1-512%> will be deprecated in GCC 16 due to all machines 512 bit vector size supported)
+Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2,
+and AVX10.1-512 built-in functions and code generation.
+
 mavx10.1-512
-Target Mask(ISA2_AVX10_1_512) Var(ix86_isa_flags2) Save
+Target Alias(mavx10.1)
 Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2,
 and AVX10.1-512 built-in functions and code generation.
 
index abfb97302b85654fb87c868d4ef38d68ba9374b9..0d5a5a10119dbb5115951622a3206e7eed513abe 100644 (file)
@@ -599,6 +599,9 @@ UrlSuffix(gcc/x86-Options.html#index-musermsr)
 mavx10.1-256
 UrlSuffix(gcc/x86-Options.html#index-mavx10_002e1-256)
 
+mavx10.1
+UrlSuffix(gcc/x86-Options.html#index-mavx10_002e1)
+
 mavx10.1-512
 UrlSuffix(gcc/x86-Options.html#index-mavx10_002e1-512)
 
index 522d51a7dee29245ddac3e7b17386639a9434d28..ed766e53dcc448e175b63595a7fc9266bd296d49 100644 (file)
@@ -6639,6 +6639,12 @@ EGPR, PUSH2POP2, NDD and PPX.
 Enable the generation of the AVX10.1 instructions with 256 bit support.
 Disable the generation of the AVX10.1 instructions.
 
+@cindex @code{target("avx10.1")} function attribute, x86
+@item avx10.1
+@itemx no-avx10.1
+Enable the generation of the AVX10.1 instructions with 512 bit support.
+Disable the generation of the AVX10.1 instructions.
+
 @cindex @code{target("avx10.1-512")} function attribute, x86
 @item avx10.1-512
 @itemx no-avx10.1-512
index f0912cf262d4fdf3f8dc4dfd98511f857ef55b90..c29cd3f5207e80f9530d26d9b2d429dd349a7dfa 100644 (file)
@@ -2626,6 +2626,9 @@ Target supports the execution of @code{avx} instructions.
 @item avx10.1-256
 Target supports the execution of @code{avx10.1-256} instructions.
 
+@item avx10.1
+Target supports the execution of @code{avx10.1} instructions.
+
 @item avx10.1-512
 Target supports the execution of @code{avx10.1-512} instructions.
 
index 18e0e7828d210aec0258d732cd6031687a318769..7d4326d8da979a6876054b68bb0525f560127b21 100644 (file)
@@ -38,7 +38,7 @@ int
 main ()
 {
   /* Run AVX10 test only if host has ISA support.  */
-  if (__builtin_cpu_supports ("avx10.1-256")
+  if (__builtin_cpu_supports ("avx10.1")
 #ifdef AVX10_2
       && __builtin_cpu_supports ("avx10.2")
 #endif
index 33ce99ed60abe75f806b7c2388498d7c4a139472..bd3249e6fc255ed50bc13b34246493df0f4ec032 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile { target { ! ia32 } } } */
-/* { dg-options "-O2 -march=x86-64 -mavx10.1-256" } */
+/* { dg-options "-O2 -march=x86-64 -mavx10.1" } */
+/* { dg-warning "'-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported" "" { target *-*-* } 0 } */
 
 #include <immintrin.h>
 
index 0db5240a30f22f174bf0e4d7c34119cfdefddab9..dba2a4e0e2dd2b7be776ec25d844bc19aab9fcbc 100644 (file)
@@ -1,6 +1,8 @@
 /* { dg-do compile } */
-/* { dg-options "-march=x86-64 -mavx10.1-512 -mavx512f -mno-evex512" } */
+/* { dg-options "-march=x86-64 -mavx10.1 -mavx512f -mno-evex512" } */
 /* { dg-warning "'-mno-evex512' or '-mno-avx512XXX' cannot disable AVX10 instructions when AVX10.1-512 is available" "" { target *-*-* } 0 } */
+/* { dg-warning "'-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported" "" { target *-*-* } 0 } */
+/* { dg-warning "'-mevex512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler "%zmm" } } */
 
 #include "avx10_1-2.c"
index c0ad4fc27fa950dfc9a8770e3079a1f830844e11..608817a45ab28eae48cbe0dbd50afb2b4ffac8b1 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
-/* { dg-options "-march=x86-64 -mavx10.1-512 -mno-avx512f" } */
+/* { dg-options "-march=x86-64 -mavx10.1 -mno-avx512f" } */
 /* { dg-warning "'-mno-evex512' or '-mno-avx512XXX' cannot disable AVX10 instructions when AVX10.1-512 is available" "" { target *-*-* } 0 } */
+/* { dg-warning "'-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler "%zmm" } } */
 
 #include "avx10_1-2.c"
index ae1c77bbcbdc2282c3b18d69c039651924685f48..1650f2682cb0285f2b5e27db4e29a04207c44719 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-march=x86-64 -mno-avx10.1-512 -mavx512f" } */
 /* { dg-warning "'-mno-avx10.1-256, -mno-avx10.1-512' cannot disable AVX512 instructions when '-mavx512XXX'" "" { target *-*-* } 0 } */
+/* { dg-warning "'-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler "%zmm" } } */
 
 #include "avx10_1-2.c"
index e94ac8e1862ca7a2393dd2ee39d484ab06ca400c..a864e96c26274f33e1aa2d584771287cd1d4ebc0 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-march=x86-64 -mavx10.1-256" } */
+/* { dg-warning "'-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler "%zmm" } } */
 
 typedef double __m512d __attribute__ ((__vector_size__ (64), __may_alias__));
index d1731f09a45dc799b75d43e503e3133545a8d8de..b227cf3e0ec5880d93d99c11b26af06292f67c88 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
-/* { dg-options "-march=x86-64 -mavx10.1-512" } */
+/* { dg-options "-march=x86-64 -mavx10.1" } */
+/* { dg-warning "'-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler "%zmm" } } */
 
 typedef double __m512d __attribute__ ((__vector_size__ (64), __may_alias__));
index f5f3ff8127ee1f1ce1e9967d5413a3b5b385c3c0..b3fdb3f3d4f540f30b85acc84a409c939cf501d3 100644 (file)
@@ -1,10 +1,11 @@
 /* { dg-do compile } */
 /* { dg-options "-march=x86-64 -mavx512f -mno-evex512" } */
+/* { dg-warning "'-mevex512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler "%zmm" } } */
 
 typedef double __m512d __attribute__ ((__vector_size__ (64), __may_alias__));
 
-__attribute__ ((target ("avx10.1-512"))) __m512d
+__attribute__ ((target ("avx10.1"))) __m512d
 foo ()
 { /* { dg-warning "'-mno-evex512' or '-mno-avx512XXX' cannot disable AVX10 instructions when AVX10.1-512 is available" } */
   __m512d a, b;
index c50fd2bb29be0bad842b6aa66f5dcb6964b3f6d5..c1edce8fedeea4bff5e96e493fcea4c7c5f9c856 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
-/* { dg-options "-march=x86-64 -mavx10.1-512" } */
+/* { dg-options "-march=x86-64 -mavx10.1" } */
+/* { dg-warning "'-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler "%zmm" } } */
 
 typedef double __m512d __attribute__ ((__vector_size__ (64), __may_alias__));
index 7445ecfa548a66d613f9c60bb075efc8ee0f84f5..25b58872a1af523d799b81c7d1d13ac7a2a7d49d 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-march=x86-64 -mno-avx10.1-512" } */
+/* { dg-warning "'-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler "%zmm" } } */
 
 typedef double __m512d __attribute__ ((__vector_size__ (64), __may_alias__));
index 0b3991dcf74376a8da7b3e6721e004ce483fdebc..19962bc2a37ab26747b2df3df85e29a25b032e10 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
-/* { dg-options "-march=x86-64 -mavx10.1-512" } */
+/* { dg-options "-march=x86-64 -mavx10.1" } */
+/* { dg-warning "'-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler "%zmm" } } */
 
 typedef double __m512d __attribute__ ((__vector_size__ (64), __may_alias__));
index d63c6b40d80aceae93863b5a4656a86f409791cb..a2230654114b86793a8f5b21708d2605927985de 100644 (file)
@@ -4,7 +4,7 @@
 
 typedef double __m512d __attribute__ ((__vector_size__ (64), __may_alias__));
 
-__attribute__ ((target ("avx10.1-512"))) __m512d
+__attribute__ ((target ("avx10.1"))) __m512d
 foo ()
 { /* { dg-warning "'-mno-evex512' or '-mno-avx512XXX' cannot disable AVX10 instructions when AVX10.1-512 is available" } */
   __m512d a, b;
index 0a1fcc9c0f863cad9f32b549b2dd17af5c19f82f..2ae437e6ebf04c960055b93f036f435efe9ed1d5 100644 (file)
@@ -1,6 +1,8 @@
 /* { dg-do compile } */
 /* { dg-options "-march=x86-64 -mavx10.1-256 -mevex512 -Wno-psabi" } */
 /* { dg-warning "Using '-mevex512' without any AVX512 features enabled together with AVX10.1 only will not enable any AVX512 or AVX10.1-512 features, using 256 as max vector size" "" { target *-*-* } 0 } */
+/* { dg-warning "'-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported" "" { target *-*-* } 0 } */
+/* { dg-warning "'-mevex512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-not "%zmm" } } */
 
 #include "avx10_1-2.c"
index cb649dc5538e2d88e19ccadf4d08f5f4d714aa35..df7bffb1bdfcbe4a9ccc68655569d6291b295845 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-march=x86-64 -mavx10.1-256 -Wno-psabi" } */
+/* { dg-warning "'-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-not "%zmm" } } */
 
 typedef double __m512d __attribute__ ((__vector_size__ (64), __may_alias__));
index f31c63650ab35f50b512bfa4b4247c4aace7b44b..1f8458480fe223aaee11e78eb031fe8473998f24 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-march=x86-64 -mevex512 -Wno-psabi" } */
+/* { dg-warning "'-mevex512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-not "%zmm" } } */
 
 typedef double __m512d __attribute__ ((__vector_size__ (64), __may_alias__));
diff --git a/gcc/testsuite/gcc.target/i386/avx10_1-24.c b/gcc/testsuite/gcc.target/i386/avx10_1-24.c
deleted file mode 100644 (file)
index 1bba0fb..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-O2 -march=x86-64 -mavx10.1-256" } */
-/* { dg-final { scan-assembler-not "%zmm" } } */
-
-typedef float __m512 __attribute__ ((__vector_size__ (64), __may_alias__));
-
-void __attribute__((target("avx10.1-256"))) callee256(__m512 *a, __m512 *b) { *a = *b; }
diff --git a/gcc/testsuite/gcc.target/i386/avx10_1-25.c b/gcc/testsuite/gcc.target/i386/avx10_1-25.c
deleted file mode 100644 (file)
index fb378b9..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-O2 -march=x86-64-v2 -mavx" } */
-/* { dg-require-ifunc "" } */
-
-#include <immintrin.h>
-__attribute__((target_clones ("default","avx10.1-256")))
-__m256d foo(__m256d a, __m256d b)
-{
-  return a + b;
-}
index e54e2f5fb0dfb0a76c27e1c27223a8a3a373f583..d8874042da9678383804547cd5a07262ff4acd1a 100644 (file)
@@ -3,7 +3,7 @@
 /* { dg-require-ifunc "" } */
 
 #include <immintrin.h>
-__attribute__((target_clones ("default","avx10.1-512")))
+__attribute__((target_clones ("default","avx10.1")))
 __m512d foo(__m512d a, __m512d b)
 {
   return a + b;
index a176f2749ce68e8ae6e6e82f8fe6dae1127fc80a..992364af6d80d4c215c8d134ad363e9a4dad632b 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -march=x86-64 -mavx10.1-256" } */
+/* { dg-options "-O2 -march=x86-64 -mavx10.1" } */
+/* { dg-warning "'-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported" "" { target *-*-* } 0 } */
 
 #include <immintrin.h>
 
index 68cbf197d6118761eb4a6b1614c0f5471dfc4f2b..b3d26032256d9a57200d8f253383dd2606cf9843 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -march=x86-64 -mavx10.1-512" } */
+/* { dg-options "-O2 -march=x86-64 -mavx10.1" } */
+/* { dg-warning "'-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported" "" { target *-*-* } 0 } */
 
 #include <immintrin.h>
 
diff --git a/gcc/testsuite/gcc.target/i386/avx10_1-5.c b/gcc/testsuite/gcc.target/i386/avx10_1-5.c
deleted file mode 100644 (file)
index 3079cf1..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-O0 -march=x86-64 -mavx10.1-256 -Wno-psabi" } */
-/* { dg-final { scan-assembler-not ".%zmm" } } */
-
-#include "avx10_1-2.c"
diff --git a/gcc/testsuite/gcc.target/i386/avx10_1-6.c b/gcc/testsuite/gcc.target/i386/avx10_1-6.c
deleted file mode 100644 (file)
index 60dbd05..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-O2 -march=x86-64 -mavx10.1-256" } */
-
-#include <immintrin.h>
-
-long long
-foo (long long c)
-{
-  register long long a __asm ("k7") = c;
-  long long b = foo (a);
-  asm volatile ("" : "+k" (b));
-  return b;
-}
index afce29054213f4d0b54447f8662b341a6e316f2c..fb74ffba087004da0891b61e450f541441c3e9c6 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
-/* { dg-options "-march=x86-64 -mavx10.1-512 -mavx512f" } */
+/* { dg-options "-march=x86-64 -mavx10.1 -mavx512f" } */
+/* { dg-warning "'-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler "%zmm" } } */
 
 #include "avx10_1-2.c"
index ec930f72218fa04ee8f68873861fe52714b75035..dbb7d6460320c58c7e11b60ea992285a27b50f80 100644 (file)
@@ -1,4 +1,6 @@
 /* { dg-do compile { target { ! ia32 } } } */
 /* { dg-options "-march=x86-64 -mavx10.1-256 -mavx512f -mno-evex512" } */
+/* { dg-warning "'-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported" "" { target *-*-* } 0 } */
+/* { dg-warning "'-mevex512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported" "" { target *-*-* } 0 } */
 
 #include "avx10_1-1.c"
index 8e8382779628f3f71b95645b2458cb2a03721d38..b95173892a4288b6ef77b3e5921c6b48a6b2345c 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-march=x86-64 -mavx10.1-256 -mavx512f" } */
 /* { dg-warning "Vector size conflicts between AVX10.1 and AVX512, using 512 as max vector size" "" { target *-*-* } 0 } */
+/* { dg-warning "'-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler "%zmm" } } */
 
 #include "avx10_1-2.c"
index 7fd45f15be6247d328b6d2efc39c1ce8116727e1..89eb52803d51162758e27bfd1644f271e764cc78 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O0 -march=x86-64 -mavx512f -mno-evex512 -Wno-psabi" } */
+/* { dg-warning "'-mevex512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-not ".%zmm" } } */
 
 typedef double __m512d __attribute__ ((__vector_size__ (64), __may_alias__));
index b7915d83a89d36c5586075038557ef0ea65086c5..34740ffa67985c4f8e5f9f96b8b2e53b05b9a09f 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -march=x86-64 -mavx512bw -mno-evex512" } */
+/* { dg-warning "'-mevex512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported" "" { target *-*-* } 0 } */
 
 #include <immintrin.h>
 
index 4ff2ea0efc051c0e66793143fe2f67f596fefeea..70c1e9a6b3b6e927507abd35a1a51adaac181f56 100644 (file)
@@ -1,6 +1,7 @@
 /* PR target/111068 */
 /* { dg-do compile } */
-/* { dg-options "-ffloat-store -mavx10.1-512" } */
+/* { dg-options "-ffloat-store -mavx10.1" } */
+/* { dg-warning "'-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported" "" { target *-*-* } 0 } */
 
 typedef _Float16 __attribute__((__vector_size__ (8))) V;
 V u, v, w;
index 5275e9400edff684faef32820179728b146c2148..cadc9e45683249c418f9ccd705ce7de3162aea39 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512f -mno-evex512" } */
+/* { dg-warning "'-mevex512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported" "" { target *-*-* } 0 } */
 
 _Float128
 foo (_Float128 d, _Float128 e)
index c2d616a05e37eef4bff7f4dca3078e5d87172455..d34ebb7a6a09ee2973e783d5714a414806a9e1b9 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -mvaes -mevex512 -mno-xsave -Wno-psabi" } */
+/* { dg-warning "'-mevex512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported" "" { target *-*-* } 0 } */
 
 typedef __attribute__((__vector_size__(64))) char V;
 
index ec75f271447a46db7b33625499964a9e3d646082..58fb53cf29b85ca3fcb1a6b0506ad4e27d05dad0 100644 (file)
@@ -1,6 +1,7 @@
 /* PR target/117304 */
 /* { dg-do compile } */
 /* { dg-options "-O2 -mavx512f -mno-evex512" } */
+/* { dg-warning "'-mevex512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported" "" { target *-*-* } 0 } */
 
 typedef __attribute__((__vector_size__(32))) int __v8si;
 typedef __attribute__((__vector_size__(32))) unsigned int __v8su;
index e7b660bdf9b72f5aabfbc6b2150e44f6768deac7..c4bf8254967caa76dfd307fb59cf0354633ad2f9 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile  { target { ! ia32 } } } */
-/* { dg-options "-O -favoid-store-forwarding -mavx10.1-256 -mprefer-avx128 --param=store-forwarding-max-distance=128 -Wno-psabi" } */
+/* { dg-options "-O -favoid-store-forwarding -mavx10.1 -mprefer-avx128 --param=store-forwarding-max-distance=128 -Wno-psabi" } */
+/* { dg-warning "'-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported" "" { target *-*-* } 0 } */
 typedef __attribute__((__vector_size__ (64))) _Decimal32 V;
 
 void