On 6/10/24 21:33, Jeff Law wrote:
On 6/10/24 3:46 PM, Patrick O'Neill wrote:
The A extension has been split into two parts: Zaamo and Zalrsc.
This patch adds basic support by making the A extension imply Zaamo and
Zalrsc.
Zaamo/Zalrsc spec: https://github.com/riscv/riscv-zaamo-zalrsc/tags
Ratification: https://jira.riscv.org/browse/RVS-1995
v2:
Rebased and updated some testcases that rely on the ISA string.
v3:
Regex-ify temp registers in added testcases.
Remove unintentional whitespace changes.
Add riscv_{a|ztso|zaamo|zalrsc} docs to sourcebuild.texi (and move
core-v bi
extension doc into appropriate section).
Edwin Lu (1):
RISC-V: Add basic Zaamo and Zalrsc support
Patrick O'Neill (2):
RISC-V: Add Zalrsc and Zaamo testsuite support
RISC-V: Add Zalrsc amo-op patterns
gcc/common/config/riscv/riscv-common.cc | 11 +-
gcc/config/riscv/arch-canonicalize | 1 +
gcc/config/riscv/riscv.opt | 6 +-
gcc/config/riscv/sync.md | 152 +++++++++++++++---
gcc/doc/sourcebuild.texi | 16 +-
.../riscv/amo-table-a-6-amo-add-1.c | 2 +-
.../riscv/amo-table-a-6-amo-add-2.c | 2 +-
.../riscv/amo-table-a-6-amo-add-3.c | 2 +-
.../riscv/amo-table-a-6-amo-add-4.c | 2 +-
.../riscv/amo-table-a-6-amo-add-5.c | 2 +-
.../riscv/amo-table-a-6-compare-exchange-1.c | 2 +-
.../riscv/amo-table-a-6-compare-exchange-2.c | 2 +-
.../riscv/amo-table-a-6-compare-exchange-3.c | 2 +-
.../riscv/amo-table-a-6-compare-exchange-4.c | 2 +-
.../riscv/amo-table-a-6-compare-exchange-5.c | 2 +-
.../riscv/amo-table-a-6-compare-exchange-6.c | 2 +-
.../riscv/amo-table-a-6-compare-exchange-7.c | 2 +-
.../riscv/amo-table-a-6-subword-amo-add-1.c | 2 +-
.../riscv/amo-table-a-6-subword-amo-add-2.c | 2 +-
.../riscv/amo-table-a-6-subword-amo-add-3.c | 2 +-
.../riscv/amo-table-a-6-subword-amo-add-4.c | 2 +-
.../riscv/amo-table-a-6-subword-amo-add-5.c | 2 +-
.../riscv/amo-table-ztso-amo-add-1.c | 2 +-
.../riscv/amo-table-ztso-amo-add-2.c | 2 +-
.../riscv/amo-table-ztso-amo-add-3.c | 2 +-
.../riscv/amo-table-ztso-amo-add-4.c | 2 +-
.../riscv/amo-table-ztso-amo-add-5.c | 2 +-
.../riscv/amo-table-ztso-compare-exchange-1.c | 2 +-
.../riscv/amo-table-ztso-compare-exchange-2.c | 2 +-
.../riscv/amo-table-ztso-compare-exchange-3.c | 2 +-
.../riscv/amo-table-ztso-compare-exchange-4.c | 2 +-
.../riscv/amo-table-ztso-compare-exchange-5.c | 2 +-
.../riscv/amo-table-ztso-compare-exchange-6.c | 2 +-
.../riscv/amo-table-ztso-compare-exchange-7.c | 2 +-
.../riscv/amo-table-ztso-subword-amo-add-1.c | 2 +-
.../riscv/amo-table-ztso-subword-amo-add-2.c | 2 +-
.../riscv/amo-table-ztso-subword-amo-add-3.c | 2 +-
.../riscv/amo-table-ztso-subword-amo-add-4.c | 2 +-
.../riscv/amo-table-ztso-subword-amo-add-5.c | 2 +-
.../riscv/amo-zaamo-preferred-over-zalrsc.c | 17 ++
.../gcc.target/riscv/amo-zalrsc-amo-add-1.c | 19 +++
.../gcc.target/riscv/amo-zalrsc-amo-add-2.c | 19 +++
.../gcc.target/riscv/amo-zalrsc-amo-add-3.c | 19 +++
.../gcc.target/riscv/amo-zalrsc-amo-add-4.c | 19 +++
.../gcc.target/riscv/amo-zalrsc-amo-add-5.c | 19 +++
gcc/testsuite/gcc.target/riscv/attribute-15.c | 2 +-
gcc/testsuite/gcc.target/riscv/attribute-16.c | 2 +-
gcc/testsuite/gcc.target/riscv/attribute-17.c | 2 +-
gcc/testsuite/gcc.target/riscv/attribute-18.c | 2 +-
gcc/testsuite/gcc.target/riscv/pr110696.c | 2 +-
.../gcc.target/riscv/rvv/base/pr114352-1.c | 4 +-
.../gcc.target/riscv/rvv/base/pr114352-3.c | 8 +-
gcc/testsuite/lib/target-supports.exp | 48 +++++-
53 files changed, 366 insertions(+), 70 deletions(-)
create mode 100644
gcc/testsuite/gcc.target/riscv/amo-zaamo-preferred-over-zalrsc.c
create mode 100644
gcc/testsuite/gcc.target/riscv/amo-zalrsc-amo-add-1.c
create mode 100644
gcc/testsuite/gcc.target/riscv/amo-zalrsc-amo-add-2.c
create mode 100644
gcc/testsuite/gcc.target/riscv/amo-zalrsc-amo-add-3.c
create mode 100644
gcc/testsuite/gcc.target/riscv/amo-zalrsc-amo-add-4.c
create mode 100644
gcc/testsuite/gcc.target/riscv/amo-zalrsc-amo-add-5.c
This series is OK for the trunk.
jeff
Committed with a fixup to patch 3/3 where I added a missing -mabi=lp64d
that gave rv32 targets trouble on precommit. Also fixed up the changelog
for patch 1/3. I resent the committed series for the archiver.
Patrick