On 6/13/24 12:58, Jeff Law wrote:


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

Committed with a fixup to the long case to match both ld/sd or lw/sw
since that tripped up on rv32 targets. I resent the committed patch for
the archiver.

Patrick


Reply via email to