diff options
author | Patrick O'Neill <patrick@rivosinc.com> | 2024-02-07 16:30:30 -0800 |
---|---|---|
committer | Patrick O'Neill <patrick@rivosinc.com> | 2024-06-11 10:05:17 -0700 |
commit | 1588983be6112561c805a50eb7a3c585865beffa (patch) | |
tree | 10c4f1976d380095184c00f3573d771f0a76afbc /libcpp/init.cc | |
parent | 0fea902b1b5311c8b34ae8e789f1733bd8429904 (diff) | |
download | gcc-1588983be6112561c805a50eb7a3c585865beffa.zip gcc-1588983be6112561c805a50eb7a3c585865beffa.tar.gz gcc-1588983be6112561c805a50eb7a3c585865beffa.tar.bz2 |
RISC-V: Add Zalrsc amo-op patterns
All amo<op> patterns can be represented with lrsc sequences.
Add these patterns as a fallback when Zaamo is not enabled.
gcc/ChangeLog:
* config/riscv/sync.md (atomic_<atomic_optab><mode>): New expand pattern.
(amo_atomic_<atomic_optab><mode>): Rename amo pattern.
(atomic_fetch_<atomic_optab><mode>): New lrsc sequence pattern.
(lrsc_atomic_<atomic_optab><mode>): New expand pattern.
(amo_atomic_fetch_<atomic_optab><mode>): Rename amo pattern.
(lrsc_atomic_fetch_<atomic_optab><mode>): New lrsc sequence pattern.
(atomic_exchange<mode>): New expand pattern.
(amo_atomic_exchange<mode>): Rename amo pattern.
(lrsc_atomic_exchange<mode>): New lrsc sequence pattern.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/amo-zaamo-preferred-over-zalrsc.c: New test.
* gcc.target/riscv/amo-zalrsc-amo-add-1.c: New test.
* gcc.target/riscv/amo-zalrsc-amo-add-2.c: New test.
* gcc.target/riscv/amo-zalrsc-amo-add-3.c: New test.
* gcc.target/riscv/amo-zalrsc-amo-add-4.c: New test.
* gcc.target/riscv/amo-zalrsc-amo-add-5.c: New test.
Signed-off-by: Patrick O'Neill <patrick@rivosinc.com>
Diffstat (limited to 'libcpp/init.cc')
0 files changed, 0 insertions, 0 deletions