public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH v3 0/3] RISC-V: Add basic Zaamo and Zalrsc support
@ 2024-06-10 21:46 Patrick O'Neill
  2024-06-10 21:46 ` [PATCH v3 1/3] " Patrick O'Neill
                   ` (4 more replies)
  0 siblings, 5 replies; 13+ messages in thread
From: Patrick O'Neill @ 2024-06-10 21:46 UTC (permalink / raw)
  To: gcc-patches
  Cc: jeffreyalaw, kito.cheng, ewlu, palmer, gnu-toolchain, andrea,
	Patrick O'Neill

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

--
2.34.1


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2024-06-12 17:15 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-06-10 21:46 [PATCH v3 0/3] RISC-V: Add basic Zaamo and Zalrsc support Patrick O'Neill
2024-06-10 21:46 ` [PATCH v3 1/3] " Patrick O'Neill
2024-06-10 21:46 ` [PATCH v3 2/3] RISC-V: Add Zalrsc and Zaamo testsuite support Patrick O'Neill
2024-06-10 21:46 ` [PATCH v3 3/3] RISC-V: Add Zalrsc amo-op patterns Patrick O'Neill
2024-06-11  0:15 ` [PATCH v3 0/3] RISC-V: Add basic Zaamo and Zalrsc support Andrea Parri
2024-06-11  4:32   ` Jeff Law
2024-06-11 17:24     ` Patrick O'Neill
2024-06-11  4:33 ` Jeff Law
2024-06-11 17:08   ` [Committed] " Patrick O'Neill
2024-06-12 11:11     ` Li, Pan2
2024-06-12 11:21       ` Andreas Schwab
2024-06-12 17:09         ` Patrick O'Neill
2024-06-12 17:15           ` Palmer Dabbelt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).