On 6/12/24 6:10 PM, Patrick O'Neill wrote:
Andrea Parri recently pointed out that we were emitting overly conservative
fences for seq_cst atomic loads/stores. This adds support for the optimized
fences specified in the PSABI:
https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/2092568f7896ceaa1ec0f02569b19eaa42cd51c9/riscv-atomic.adoc

gcc/ChangeLog:

        * config/riscv/sync-rvwmo.md: Add support for subword fenced
        loads/stores.
        * config/riscv/sync-ztso.md: Ditto.
        * config/riscv/sync.md: Ditto.

gcc/testsuite/ChangeLog:

        * gcc.target/riscv/amo/amo-table-a-6-load-1.c: Increase test coverage to
        include longs, shorts, chars, and bools.
        * gcc.target/riscv/amo/amo-table-a-6-load-2.c: Ditto.
        * gcc.target/riscv/amo/amo-table-a-6-load-3.c: Ditto.
        * gcc.target/riscv/amo/amo-table-a-6-store-1.c: Ditto.
        * gcc.target/riscv/amo/amo-table-a-6-store-2.c: Ditto.
        * gcc.target/riscv/amo/amo-table-a-6-store-compat-3.c: Ditto.
        * gcc.target/riscv/amo/amo-table-ztso-load-1.c: Ditto.
        * gcc.target/riscv/amo/amo-table-ztso-load-2.c: Ditto.
        * gcc.target/riscv/amo/amo-table-ztso-load-3.c: Ditto.
        * gcc.target/riscv/amo/amo-table-ztso-store-1.c: Ditto.
        * gcc.target/riscv/amo/amo-table-ztso-store-2.c: Ditto.
        * gcc.target/riscv/amo/amo-table-ztso-store-3.c: Ditto.
OK
jeff

Reply via email to