Message ID | 20250203130421.2192732-18-alfie.richards@arm.com |
---|---|
State | New |
Headers | |
Series | FMV refactor and ACLE compliance. | |
Checks
Context | Check | Description |
---|---|---|
linaro-tcwg-bot/tcwg_gcc_build--master-arm | success | Build passed |
linaro-tcwg-bot/tcwg_gcc_check--master-arm | success | Test passed |
linaro-tcwg-bot/tcwg_gcc_build--master-aarch64 | fail | Build failed |
Commit Message
diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc index f6cb7903d88..a2c3ba8e12e 100644 --- a/gcc/config/aarch64/aarch64.cc +++ b/gcc/config/aarch64/aarch64.cc @@ -19939,15 +19939,6 @@ aarch64_parse_fmv_features (string_slice str, aarch64_feature_flags *isa_flags, static bool aarch64_process_target_version_attr (tree args) { - static bool issued_warning = false; - if (!issued_warning) - { - warning (OPT_Wexperimental_fmv_target, - "Function Multi Versioning support is experimental, and the " - "behavior is likely to change"); - issued_warning = true; - } - if (TREE_CODE (args) == TREE_LIST) { if (TREE_CHAIN (args)) diff --git a/gcc/testsuite/g++.target/aarch64/mv-1.C b/gcc/testsuite/g++.target/aarch64/mv-1.C index 93b8a136587..4f815e18683 100644 --- a/gcc/testsuite/g++.target/aarch64/mv-1.C +++ b/gcc/testsuite/g++.target/aarch64/mv-1.C @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-require-ifunc "" } */ /* { dg-options "-O0" } */ -/* { dg-additional-options "-Wno-experimental-fmv-target" } */ + __attribute__((target_version("default"))) int foo () diff --git a/gcc/testsuite/g++.target/aarch64/mv-and-mvc1.C b/gcc/testsuite/g++.target/aarch64/mv-and-mvc1.C index 0e2e746f20e..1638643d300 100644 --- a/gcc/testsuite/g++.target/aarch64/mv-and-mvc1.C +++ b/gcc/testsuite/g++.target/aarch64/mv-and-mvc1.C @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-require-ifunc "" } */ /* { dg-options "-O0" } */ -/* { dg-additional-options "-Wno-experimental-fmv-target" } */ + __attribute__((target_version("default"))) int foo () diff --git a/gcc/testsuite/g++.target/aarch64/mv-and-mvc2.C b/gcc/testsuite/g++.target/aarch64/mv-and-mvc2.C index 6929b153c47..e6efe079013 100644 --- a/gcc/testsuite/g++.target/aarch64/mv-and-mvc2.C +++ b/gcc/testsuite/g++.target/aarch64/mv-and-mvc2.C @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-require-ifunc "" } */ /* { dg-options "-O0" } */ -/* { dg-additional-options "-Wno-experimental-fmv-target" } */ + __attribute__((target_version("default"))) int foo (); diff --git a/gcc/testsuite/g++.target/aarch64/mv-and-mvc3.C b/gcc/testsuite/g++.target/aarch64/mv-and-mvc3.C index b25b6214f4c..70424abfb47 100644 --- a/gcc/testsuite/g++.target/aarch64/mv-and-mvc3.C +++ b/gcc/testsuite/g++.target/aarch64/mv-and-mvc3.C @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-require-ifunc "" } */ /* { dg-options "-O0" } */ -/* { dg-additional-options "-Wno-experimental-fmv-target" } */ + __attribute__((target_clones("dotprod", "sve+sve2"))) int foo (); diff --git a/gcc/testsuite/g++.target/aarch64/mv-and-mvc4.C b/gcc/testsuite/g++.target/aarch64/mv-and-mvc4.C index c122c9fe3ab..9570983a2a6 100644 --- a/gcc/testsuite/g++.target/aarch64/mv-and-mvc4.C +++ b/gcc/testsuite/g++.target/aarch64/mv-and-mvc4.C @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-require-ifunc "" } */ /* { dg-options "-O0" } */ -/* { dg-additional-options "-Wno-experimental-fmv-target" } */ + __attribute__((target_version("dotprod"))) int foo () diff --git a/gcc/testsuite/g++.target/aarch64/mv-error1.C b/gcc/testsuite/g++.target/aarch64/mv-error1.C index 2a659c02dfc..d5f17db70db 100644 --- a/gcc/testsuite/g++.target/aarch64/mv-error1.C +++ b/gcc/testsuite/g++.target/aarch64/mv-error1.C @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-require-ifunc "" } */ /* { dg-options "-O0" } */ -/* { dg-additional-options "-Wno-experimental-fmv-target" } */ + __attribute__ ((target_version ("default"))) int foo (); diff --git a/gcc/testsuite/g++.target/aarch64/mv-error13.C b/gcc/testsuite/g++.target/aarch64/mv-error13.C index 0b6b38ce100..17d9bdf7171 100644 --- a/gcc/testsuite/g++.target/aarch64/mv-error13.C +++ b/gcc/testsuite/g++.target/aarch64/mv-error13.C @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-require-ifunc "" } */ /* { dg-options "-O0" } */ -/* { dg-additional-options "-Wno-experimental-fmv-target" } */ + __attribute__ ((target_version ("dotprod"))) int foo (); diff --git a/gcc/testsuite/g++.target/aarch64/mv-error2.C b/gcc/testsuite/g++.target/aarch64/mv-error2.C index 167af4ad380..059937c8380 100644 --- a/gcc/testsuite/g++.target/aarch64/mv-error2.C +++ b/gcc/testsuite/g++.target/aarch64/mv-error2.C @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-require-ifunc "" } */ /* { dg-options "-O0" } */ -/* { dg-additional-options "-Wno-experimental-fmv-target" } */ + __attribute__ ((target_version ("dotprod"))) float foo () { return 3; } /* { dg-message "previously defined here" } */ diff --git a/gcc/testsuite/g++.target/aarch64/mv-error3.C b/gcc/testsuite/g++.target/aarch64/mv-error3.C index cc641488263..d741aabc943 100644 --- a/gcc/testsuite/g++.target/aarch64/mv-error3.C +++ b/gcc/testsuite/g++.target/aarch64/mv-error3.C @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-require-ifunc "" } */ /* { dg-options "-O0" } */ -/* { dg-additional-options "-Wno-experimental-fmv-target" } */ + __attribute__ ((target_version ("dotprod"))) float foo () { return 3; } diff --git a/gcc/testsuite/g++.target/aarch64/mv-error7.C b/gcc/testsuite/g++.target/aarch64/mv-error7.C index 3d2c73446be..d725f654db5 100644 --- a/gcc/testsuite/g++.target/aarch64/mv-error7.C +++ b/gcc/testsuite/g++.target/aarch64/mv-error7.C @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-require-ifunc "" } */ /* { dg-options "-O0" } */ -/* { dg-additional-options "-Wno-experimental-fmv-target" } */ + __attribute__ ((target_version ("sve+sve2"))) int foo(); diff --git a/gcc/testsuite/g++.target/aarch64/mv-error8.C b/gcc/testsuite/g++.target/aarch64/mv-error8.C index 8ea26750480..225463a354a 100644 --- a/gcc/testsuite/g++.target/aarch64/mv-error8.C +++ b/gcc/testsuite/g++.target/aarch64/mv-error8.C @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-require-ifunc "" } */ /* { dg-options "-O0" } */ -/* { dg-additional-options "-Wno-experimental-fmv-target" } */ + __attribute__ ((target_version ("sve+sve2"))) int foo () { diff --git a/gcc/testsuite/g++.target/aarch64/mv-error9.C b/gcc/testsuite/g++.target/aarch64/mv-error9.C index c1b58edca11..1628a1c9c72 100644 --- a/gcc/testsuite/g++.target/aarch64/mv-error9.C +++ b/gcc/testsuite/g++.target/aarch64/mv-error9.C @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-require-ifunc "" } */ /* { dg-options "-O0" } */ -/* { dg-additional-options "-Wno-experimental-fmv-target" } */ + __attribute__ ((target_version ("dotprod"))) int foo (); diff --git a/gcc/testsuite/g++.target/aarch64/mv-pragma.C b/gcc/testsuite/g++.target/aarch64/mv-pragma.C index 6e5929328bb..e8d91d51b48 100644 --- a/gcc/testsuite/g++.target/aarch64/mv-pragma.C +++ b/gcc/testsuite/g++.target/aarch64/mv-pragma.C @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-require-ifunc "" } */ /* { dg-options "-O0" } */ -/* { dg-additional-options "-Wno-experimental-fmv-target" } */ + #pragma GCC target ("+sve") diff --git a/gcc/testsuite/g++.target/aarch64/mv-symbols1.C b/gcc/testsuite/g++.target/aarch64/mv-symbols1.C index 73cde42fa34..9f40dd3bcfd 100644 --- a/gcc/testsuite/g++.target/aarch64/mv-symbols1.C +++ b/gcc/testsuite/g++.target/aarch64/mv-symbols1.C @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-require-ifunc "" } */ /* { dg-options "-O0" } */ -/* { dg-additional-options "-Wno-experimental-fmv-target" } */ + int foo () { diff --git a/gcc/testsuite/g++.target/aarch64/mv-symbols10.C b/gcc/testsuite/g++.target/aarch64/mv-symbols10.C index dc5a8ff6572..57ee5a2de4a 100644 --- a/gcc/testsuite/g++.target/aarch64/mv-symbols10.C +++ b/gcc/testsuite/g++.target/aarch64/mv-symbols10.C @@ -1,6 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O0" } */ -/* { dg-additional-options "-Wno-experimental-fmv-target" } */ + int foo (); diff --git a/gcc/testsuite/g++.target/aarch64/mv-symbols11.C b/gcc/testsuite/g++.target/aarch64/mv-symbols11.C index 92d4ab617d8..cb5cd2af703 100644 --- a/gcc/testsuite/g++.target/aarch64/mv-symbols11.C +++ b/gcc/testsuite/g++.target/aarch64/mv-symbols11.C @@ -1,6 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O0" } */ -/* { dg-additional-options "-Wno-experimental-fmv-target" } */ + __attribute__ ((target_version ("default"))) void foo (int a = 3); diff --git a/gcc/testsuite/g++.target/aarch64/mv-symbols12.C b/gcc/testsuite/g++.target/aarch64/mv-symbols12.C index 05d915f19ab..400ddce251e 100644 --- a/gcc/testsuite/g++.target/aarch64/mv-symbols12.C +++ b/gcc/testsuite/g++.target/aarch64/mv-symbols12.C @@ -1,6 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O0" } */ -/* { dg-additional-options "-Wno-experimental-fmv-target" } */ + __attribute__ ((target_version ("default"))) int foo () { return 1; } diff --git a/gcc/testsuite/g++.target/aarch64/mv-symbols14.C b/gcc/testsuite/g++.target/aarch64/mv-symbols14.C index fbee7800ba2..af6c119b8de 100644 --- a/gcc/testsuite/g++.target/aarch64/mv-symbols14.C +++ b/gcc/testsuite/g++.target/aarch64/mv-symbols14.C @@ -1,6 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O0" } */ -/* { dg-additional-options "-Wno-experimental-fmv-target" } */ + int foo () { return 1; diff --git a/gcc/testsuite/g++.target/aarch64/mv-symbols15.C b/gcc/testsuite/g++.target/aarch64/mv-symbols15.C index a10c0bfb990..6e1ed346418 100644 --- a/gcc/testsuite/g++.target/aarch64/mv-symbols15.C +++ b/gcc/testsuite/g++.target/aarch64/mv-symbols15.C @@ -1,6 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O0" } */ -/* { dg-additional-options "-Wno-experimental-fmv-target" } */ + int foo () { return 1; diff --git a/gcc/testsuite/g++.target/aarch64/mv-symbols2.C b/gcc/testsuite/g++.target/aarch64/mv-symbols2.C index 55f2d48f5e4..4a2a70e2f43 100644 --- a/gcc/testsuite/g++.target/aarch64/mv-symbols2.C +++ b/gcc/testsuite/g++.target/aarch64/mv-symbols2.C @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-require-ifunc "" } */ /* { dg-options "-O0" } */ -/* { dg-additional-options "-Wno-experimental-fmv-target" } */ + __attribute__((target_version("default"))) int foo () diff --git a/gcc/testsuite/g++.target/aarch64/mv-symbols3.C b/gcc/testsuite/g++.target/aarch64/mv-symbols3.C index 6ba02a2aae9..14616fe66ec 100644 --- a/gcc/testsuite/g++.target/aarch64/mv-symbols3.C +++ b/gcc/testsuite/g++.target/aarch64/mv-symbols3.C @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-require-ifunc "" } */ /* { dg-options "-O0" } */ -/* { dg-additional-options "-Wno-experimental-fmv-target" } */ + __attribute__((target_version("default"))) int foo (); diff --git a/gcc/testsuite/g++.target/aarch64/mv-symbols4.C b/gcc/testsuite/g++.target/aarch64/mv-symbols4.C index cc013c47848..89a7d24d6b9 100644 --- a/gcc/testsuite/g++.target/aarch64/mv-symbols4.C +++ b/gcc/testsuite/g++.target/aarch64/mv-symbols4.C @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-require-ifunc "" } */ /* { dg-options "-O0" } */ -/* { dg-additional-options "-Wno-experimental-fmv-target" } */ + __attribute__((target_version("default"))) int foo () diff --git a/gcc/testsuite/g++.target/aarch64/mv-symbols5.C b/gcc/testsuite/g++.target/aarch64/mv-symbols5.C index 1396ca379e4..c6fcaff85fa 100644 --- a/gcc/testsuite/g++.target/aarch64/mv-symbols5.C +++ b/gcc/testsuite/g++.target/aarch64/mv-symbols5.C @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-require-ifunc "" } */ /* { dg-options "-O0" } */ -/* { dg-additional-options "-Wno-experimental-fmv-target" } */ + __attribute__((target_version("default"))) int foo (); diff --git a/gcc/testsuite/g++.target/aarch64/mv-symbols6.C b/gcc/testsuite/g++.target/aarch64/mv-symbols6.C index bdfdcdbdaed..2aa5d38fbd0 100644 --- a/gcc/testsuite/g++.target/aarch64/mv-symbols6.C +++ b/gcc/testsuite/g++.target/aarch64/mv-symbols6.C @@ -1,6 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O0" } */ -/* { dg-additional-options "-Wno-experimental-fmv-target" } */ + __attribute__ ((target_version ("default"))) int foo () diff --git a/gcc/testsuite/g++.target/aarch64/mv-symbols8.C b/gcc/testsuite/g++.target/aarch64/mv-symbols8.C index 6c526227b31..5da92de907a 100644 --- a/gcc/testsuite/g++.target/aarch64/mv-symbols8.C +++ b/gcc/testsuite/g++.target/aarch64/mv-symbols8.C @@ -1,6 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O0" } */ -/* { dg-additional-options "-Wno-experimental-fmv-target" } */ + __attribute__ ((target_version ("dotprod"))) int foo (); diff --git a/gcc/testsuite/g++.target/aarch64/mv-symbols9.C b/gcc/testsuite/g++.target/aarch64/mv-symbols9.C index 937a223fcb2..ae39a07244f 100644 --- a/gcc/testsuite/g++.target/aarch64/mv-symbols9.C +++ b/gcc/testsuite/g++.target/aarch64/mv-symbols9.C @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-require-ifunc "" } */ /* { dg-options "-O0" } */ -/* { dg-additional-options "-Wno-experimental-fmv-target" } */ + __attribute__ ((target_version ("dotprod"))) int foo (); diff --git a/gcc/testsuite/g++.target/aarch64/mv-warning1.C b/gcc/testsuite/g++.target/aarch64/mv-warning1.C deleted file mode 100644 index 6346c1673a2..00000000000 --- a/gcc/testsuite/g++.target/aarch64/mv-warning1.C +++ /dev/null @@ -1,9 +0,0 @@ -/* { dg-do compile } */ -/* { dg-require-ifunc "" } */ -/* { dg-options "-O0" } */ - -__attribute__((target_version("default"))) -int foo () { return 1; }/* { dg-warning "Function Multi Versioning support is experimental, and the behavior is likely to change" } */ - -__attribute__((target_version("rng"))) -int foo () { return 1; } diff --git a/gcc/testsuite/g++.target/aarch64/mvc-symbols1.C b/gcc/testsuite/g++.target/aarch64/mvc-symbols1.C index 983194d74af..ed134966b60 100644 --- a/gcc/testsuite/g++.target/aarch64/mvc-symbols1.C +++ b/gcc/testsuite/g++.target/aarch64/mvc-symbols1.C @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-require-ifunc "" } */ /* { dg-options "-O0" } */ -/* { dg-additional-options "-Wno-experimental-fmv-target" } */ + __attribute__((target_clones("default", "dotprod", "sve+sve2"))) int foo () diff --git a/gcc/testsuite/g++.target/aarch64/mvc-symbols2.C b/gcc/testsuite/g++.target/aarch64/mvc-symbols2.C index 58a797947ce..5d30d2e6c51 100644 --- a/gcc/testsuite/g++.target/aarch64/mvc-symbols2.C +++ b/gcc/testsuite/g++.target/aarch64/mvc-symbols2.C @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-require-ifunc "" } */ /* { dg-options "-O0" } */ -/* { dg-additional-options "-Wno-experimental-fmv-target" } */ + __attribute__((target_clones("default", "dotprod", "sve+sve2"))) int foo () diff --git a/gcc/testsuite/g++.target/aarch64/mvc-symbols3.C b/gcc/testsuite/g++.target/aarch64/mvc-symbols3.C index 2a315d2db5c..ff06a29709a 100644 --- a/gcc/testsuite/g++.target/aarch64/mvc-symbols3.C +++ b/gcc/testsuite/g++.target/aarch64/mvc-symbols3.C @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-require-ifunc "" } */ /* { dg-options "-O0" } */ -/* { dg-additional-options "-Wno-experimental-fmv-target" } */ + __attribute__((target_clones("default", "dotprod", "sve+sve2"))) int foo (); diff --git a/gcc/testsuite/g++.target/aarch64/mvc-symbols4.C b/gcc/testsuite/g++.target/aarch64/mvc-symbols4.C index 9c8a7bd37f2..88b57f8b26b 100644 --- a/gcc/testsuite/g++.target/aarch64/mvc-symbols4.C +++ b/gcc/testsuite/g++.target/aarch64/mvc-symbols4.C @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-require-ifunc "" } */ /* { dg-options "-O0" } */ -/* { dg-additional-options "-Wno-experimental-fmv-target" } */ + __attribute__((target_clones("default", "dotprod", "sve+sve2"))) int foo (); diff --git a/gcc/testsuite/g++.target/aarch64/mvc-warning1.C b/gcc/testsuite/g++.target/aarch64/mvc-warning1.C deleted file mode 100644 index 59acec3fad2..00000000000 --- a/gcc/testsuite/g++.target/aarch64/mvc-warning1.C +++ /dev/null @@ -1,6 +0,0 @@ -/* { dg-do compile } */ -/* { dg-require-ifunc "" } */ -/* { dg-options "-O0" } */ - -__attribute__((target_clones("default", "sve"))) -int foo () { return 1; }/* { dg-warning "Function Multi Versioning support is experimental, and the behavior is likely to change" } */