public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH v2 0/3] RISC-V: Add basic Zaamo and Zalrsc support
@ 2024-06-03 21:53 Patrick O'Neill
  2024-06-03 21:53 ` [PATCH v2 1/3] " Patrick O'Neill
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Patrick O'Neill @ 2024-06-03 21:53 UTC (permalink / raw)
  To: gcc-patches; +Cc: jeffreyalaw, palmer, gnu-toolchain, 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.

Patrick O'Neill (3):
  RISC-V: Add basic Zaamo and Zalrsc support
  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 +++++++++++++++---
 .../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          |   1 +
 .../riscv/amo-table-ztso-amo-add-2.c          |   1 +
 .../riscv/amo-table-ztso-amo-add-3.c          |   1 +
 .../riscv/amo-table-ztso-amo-add-4.c          |   1 +
 .../riscv/amo-table-ztso-amo-add-5.c          |   1 +
 .../riscv/amo-table-ztso-compare-exchange-1.c |   1 +
 .../riscv/amo-table-ztso-compare-exchange-2.c |   1 +
 .../riscv/amo-table-ztso-compare-exchange-3.c |   1 +
 .../riscv/amo-table-ztso-compare-exchange-4.c |   1 +
 .../riscv/amo-table-ztso-compare-exchange-5.c |   1 +
 .../riscv/amo-table-ztso-compare-exchange-6.c |   1 +
 .../riscv/amo-table-ztso-compare-exchange-7.c |   1 +
 .../riscv/amo-table-ztso-subword-amo-add-1.c  |   1 +
 .../riscv/amo-table-ztso-subword-amo-add-2.c  |   1 +
 .../riscv/amo-table-ztso-subword-amo-add-3.c  |   1 +
 .../riscv/amo-table-ztso-subword-amo-add-4.c  |   1 +
 .../riscv/amo-table-ztso-subword-amo-add-5.c  |   1 +
 .../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         | 134 ++++++++++-----
 52 files changed, 395 insertions(+), 94 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 18:14 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-06-03 21:53 [PATCH v2 0/3] RISC-V: Add basic Zaamo and Zalrsc support Patrick O'Neill
2024-06-03 21:53 ` [PATCH v2 1/3] " Patrick O'Neill
2024-06-04  3:00   ` Kito Cheng
2024-06-04 17:30     ` Patrick O'Neill
2024-06-04 21:27       ` Andrew Waterman
2024-06-07 22:35   ` Jeff Law
2024-06-03 21:53 ` [PATCH v2 2/3] RISC-V: Add Zalrsc and Zaamo testsuite support Patrick O'Neill
2024-06-07 23:04   ` Jeff Law
2024-06-10 16:39     ` Patrick O'Neill
2024-06-11 18:21       ` Patrick O'Neill
2024-06-12 18:14         ` Jeff Law
2024-06-03 21:53 ` [PATCH v2 3/3] RISC-V: Add Zalrsc amo-op patterns Patrick O'Neill
2024-06-07 23:11   ` Jeff Law

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).