aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgloopmanip.cc
diff options
context:
space:
mode:
authorAlfie Richards <alfie.richards@arm.com>2025-01-09 09:45:32 +0000
committerAlfie Richards <alfie.richards@arm.com>2025-01-21 08:57:24 +0000
commite5798872281de0c4c2e87587cbb562552048ccdb (patch)
treeab11ce18edc11f683560290da4646dd258b01a36 /gcc/cfgloopmanip.cc
parentf31d49d65412d03d2cf91dd3b8b7281815c6d03b (diff)
downloadgcc-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