On 4/10/25 3:48 PM, Edwin Lu wrote:
[1] https://github.com/riscv/riscv-zalasr Add minimal support for the zalasr (load-acquire/store-release) extension Currently there is no toggle to opt into the abi-breaking note 3 mappings in the PSABI doc so support for that has been omitted from this patch. gcc/ChangeLog: * common/config/riscv/riscv-common.cc: Recognize zalasr. * config/riscv/riscv.opt: Ditto. * config/riscv/sync-rvwmo.md: Add check for zalasr. * config/riscv/sync-ztso.md: Ditto gcc/testsuite/ChangeLog: * gcc.target/riscv/amo/a-rvwmo-fence.c: Disable zalasr from march if exists. * gcc.target/riscv/amo/a-rvwmo-load-acquire.c: Ditto. * gcc.target/riscv/amo/a-rvwmo-load-relaxed.c: Ditto. * gcc.target/riscv/amo/a-rvwmo-load-seq-cst.c: Ditto. * gcc.target/riscv/amo/a-rvwmo-store-compat-seq-cst.c: Ditto. * gcc.target/riscv/amo/a-rvwmo-store-relaxed.c: Ditto. * gcc.target/riscv/amo/a-rvwmo-store-release.c: Ditto. * gcc.target/riscv/amo/a-ztso-fence.c: Ditto. * gcc.target/riscv/amo/a-ztso-load-acquire.c: * gcc.target/riscv/amo/a-ztso-load-relaxed.c: Ditto. * gcc.target/riscv/amo/a-ztso-load-seq-cst.c: Ditto. * gcc.target/riscv/amo/a-ztso-store-compat-seq-cst.c: Ditto. * gcc.target/riscv/amo/a-ztso-store-relaxed.c: Ditto. * gcc.target/riscv/amo/a-ztso-store-release.c: Ditto. * gcc.target/riscv/amo/zaamo-ztso-amo-add-int.c: Ditto. * gcc.target/riscv/amo/zabha-ztso-amo-add-char.c: Ditto. * gcc.target/riscv/amo/zabha-ztso-amo-add-short.c: Ditto. * gcc.target/riscv/amo/zacas-ztso-compare-exchange-char-seq-cst.c: Ditto. * gcc.target/riscv/amo/zacas-ztso-compare-exchange-char.c: Ditto. * gcc.target/riscv/amo/zacas-ztso-compare-exchange-compatability-mapping-no-fence.c: Ditto. * gcc.target/riscv/amo/zacas-ztso-compare-exchange-compatability-mapping.cc: Ditto. * gcc.target/riscv/amo/zacas-ztso-compare-exchange-int-seq-cst.c: Ditto. * gcc.target/riscv/amo/zacas-ztso-compare-exchange-int.c: Ditto. * gcc.target/riscv/amo/zacas-ztso-compare-exchange-short-seq-cst.c: Ditto. * gcc.target/riscv/amo/zacas-ztso-compare-exchange-short.c: Ditto. * gcc.target/riscv/amo/zalrsc-ztso-amo-add-int.c: Ditto. * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-acquire-release.c: Ditto. * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-acquire.c: Ditto. * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-consume.c: Ditto. * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-relaxed.c: Ditto. * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-release.c: Ditto. * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-seq-cst-relaxed.c: Ditto. * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-seq-cst.c: Ditto. * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-acq-rel.c: Ditto. * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-acquire.c: Ditto. * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-relaxed.c: Ditto. * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-release.c: Ditto. * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-seq-cst.c: Ditto. * lib/target-supports.exp: Add zalasr checks. * gcc.target/riscv/amo/zalasr-rvwmo-load-acquire.c: New test. * gcc.target/riscv/amo/zalasr-rvwmo-load-relaxed.c: New test. * gcc.target/riscv/amo/zalasr-rvwmo-load-seq-cst.c: New test. * gcc.target/riscv/amo/zalasr-rvwmo-store-compat-seq-cst.c: New test. * gcc.target/riscv/amo/zalasr-rvwmo-store-relaxed.c: New test. * gcc.target/riscv/amo/zalasr-rvwmo-store-release.c: New test. * gcc.target/riscv/amo/zalasr-ztso-load-acquire.c: New test. * gcc.target/riscv/amo/zalasr-ztso-load-relaxed.c: New test. * gcc.target/riscv/amo/zalasr-ztso-load-seq-cst.c: New test. * gcc.target/riscv/amo/zalasr-ztso-store-compat-seq-cst.c: New test. * gcc.target/riscv/amo/zalasr-ztso-store-relaxed.c: New test. * gcc.target/riscv/amo/zalasr-ztso-store-release.c: New test.
OK jeff