From: Alfie Richards <[email protected]>
Hello,
Minor changes to v3 after addressing Wilco's feedback. Hopefully the tabs will
work correctly on this patch as well, I'm not sure how I managed that last time.
Left to review is only:
- Patch 3: targhooks: Change SAME_FUNCTION_VERSIONS hook to support emitting
diagnostic.
- Patch 6: aarch64: Add support for fmv priority syntax.
---
This series adds support for the priority syntax in aarch64 version strings,
and adds some tests for aarch64 fmv feature strings.
Some of the aarch64 versions are commented out as missing. I am planning on
submitting another patch later adding these missing versions.
This series makes a small change to the same_function_version hook in order
to support priority syntax, and requires updating the callers to that function.
Changes for V3:
- Addressed Wilco's feedback on logic in aarch64_parse_fmv_features.
- Fixed grammar in commit message.
Changes for V2:
- Added tests for priority version errors.
- Changed disjoint_version_decls to have an explicit new_decl and old_decl
- Change a call to disjoint_version_decls in c frontend where they were the
wrong way around.
- Simplified and corrected some of my parsing logic as Wilco suggested.
- Changed how the aarch64 version order test works as discussed with Wilco.
- Adds patch to add FMV support macro
Regr tested on aarch64-linux-gnu and x86-linux-gnu.
Ok for master?
Thanks.
Alfie
Alfie Richards (7):
aarch64: Dump version ordering for FMV. (Approved)
aarch64: Fix fmv priority ordering [PR target/122190] (Approved)
aarch64: testsuite: Add test for supported FMV extensions. (Approved)
targhooks: Change SAME_FUNCTION_VERSIONS hook to support emitting
diagnostic.
aarch64: Remove unnecessary sort from dispatch_function_versions. (Approved)
aarch64: Add support for fmv priority syntax.
aarch64: Add __HAVE_FUNCTION_MULTI_VERSIONING macro. (Approved)
gcc/c/c-decl.cc | 2 +-
gcc/config/aarch64/aarch64-c.cc | 4 +
gcc/config/aarch64/aarch64.cc | 194 ++++++++++++------
gcc/doc/tm.texi | 6 +-
gcc/target.def | 10 +-
.../gcc.target/aarch64/fmv_priority.in | 92 +++++++++
.../gcc.target/aarch64/fmv_priority1.c | 175 ++++++++++++++++
.../gcc.target/aarch64/fmv_priority2.c | 29 +++
.../gcc.target/aarch64/fmv_priority3.c | 26 +++
.../gcc.target/aarch64/fmv_priority_error1.c | 11 +
.../gcc.target/aarch64/fmv_priority_error2.c | 8 +
gcc/testsuite/gcc.target/aarch64/pr122190.c | 10 +
gcc/tree.cc | 97 +++++----
13 files changed, 549 insertions(+), 115 deletions(-)
create mode 100644 gcc/testsuite/gcc.target/aarch64/fmv_priority.in
create mode 100644 gcc/testsuite/gcc.target/aarch64/fmv_priority1.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/fmv_priority2.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/fmv_priority3.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/fmv_priority_error1.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/fmv_priority_error2.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/pr122190.c
--
2.34.1