aboutsummaryrefslogtreecommitdiff
path: root/libcpp/init.cc
diff options
context:
space:
mode:
authorPatrick O'Neill <patrick@rivosinc.com>2024-02-07 16:30:30 -0800
committerPatrick O'Neill <patrick@rivosinc.com>2024-06-11 10:05:17 -0700
commit1588983be6112561c805a50eb7a3c585865beffa (patch)
tree10c4f1976d380095184c00f3573d771f0a76afbc /libcpp/init.cc
parent0fea902b1b5311c8b34ae8e789f1733bd8429904 (diff)
downloadgcc-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