On 6/10/24 6:15 PM, Andrea Parri wrote:
On Mon, Jun 10, 2024 at 02:46:54PM -0700, 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
While providing a proper/detailed review of the series goes above my
"GCC internals" skills, I've applied the series and checked that the
generated code for some atomic operations meet expectations (expecta-
tions which, w/ "only Zaamo", are arguably quite low as mentioned in
v2 and elsewhere):
Thanks for taking the time. We realize you're not a GCC expert, but
having an extra pair of eyes on the atomics is always appreciated.
Tested-by: Andrea Parri <and...@rivosinc.com>
Andrea
P.S. Unrelated to the changes at stake, but perhaps worth mentioning:
w/ and w/o these changes, the following
[ ... ]
I'll leave this to Patrick to decide if he wants to update. I'm always
hesitant to weaken this stuff as I'm sure there's somebody, somewhere
that assumes the stronger primitives.
Jeff