diff options
author | Alfie Richards <alfie.richards@arm.com> | 2025-01-09 09:45:32 +0000 |
---|---|---|
committer | Alfie Richards <alfie.richards@arm.com> | 2025-01-21 08:57:24 +0000 |
commit | e5798872281de0c4c2e87587cbb562552048ccdb (patch) | |
tree | ab11ce18edc11f683560290da4646dd258b01a36 /gcc/cfgloopmanip.cc | |
parent | f31d49d65412d03d2cf91dd3b8b7281815c6d03b (diff) | |
download | gcc-e5798872281de0c4c2e87587cbb562552048ccdb.zip gcc-e5798872281de0c4c2e87587cbb562552048ccdb.tar.gz gcc-e5798872281de0c4c2e87587cbb562552048ccdb.tar.bz2 |
Add warning for non-spec compliant FMV in Aarch64
This patch adds a warning when FMV is used for Aarch64.
The reasoning for this is the ACLE [1] spec for FMV has diverged
significantly from the current implementation and we want to prevent
potential future compatability issues.
There is a patch for an ACLE compliant version of target_version and
target_clone in progress but it won't make gcc-15.
This has been bootstrap and regression tested for Aarch64.
Is this okay for master and packport to gcc-14?
[1] https://github.com/ARM-software/acle/blob/main/main/acle.md#function-multi-versioning
gcc/ChangeLog:
* config/aarch64/aarch64.cc
(aarch64_process_target_version_attr): Add experimental warning.
* config/aarch64/aarch64.opt: Add command line option to disable
warning.
* doc/invoke.texi: Add documentation for -W[no-]experimental-fmv-target.
gcc/testsuite/ChangeLog:
* g++.target/aarch64/mv-1.C: Add CLI flag.
* g++.target/aarch64/mv-symbols1.C: Add CLI flag.
* g++.target/aarch64/mv-symbols2.C: Add CLI flag.
* g++.target/aarch64/mv-symbols3.C: Add CLI flag.
* g++.target/aarch64/mv-symbols4.C: Add CLI flag.
* g++.target/aarch64/mv-symbols5.C: Add CLI flag.
* g++.target/aarch64/mv-warning1.C: New test.
* g++.target/aarch64/mvc-symbols1.C: Add CLI flag.
* g++.target/aarch64/mvc-symbols2.C: Add CLI flag.
* g++.target/aarch64/mvc-symbols3.C: Add CLI flag.
* g++.target/aarch64/mvc-symbols4.C: Add CLI flag.
* g++.target/aarch64/mv-pragma.C: Add CLI flag.
* g++.target/aarch64/mvc-warning1.C: New test.
Diffstat (limited to 'gcc/cfgloopmanip.cc')
0 files changed, 0 insertions, 0 deletions