Pushed to r16-3247 ... r16-3264.

Sorry it took so long to merge.

Thanks!

在 2025/3/1 上午11:46, Xi Ruoyao 写道:
The entire patch bootstrapped and regtested on loongarch64-linux-gnu
with -march=la664, and I've also tried several simple 16-byte atomic
operation tests locally.

OK for trunk?  Or maybe the clean up is OK but the 16-byte atomic
implementation still needs to be confirmed by the hardware team?

Xi Ruoyao (17):
   LoongArch: (NFC) Remove atomic_optab and use amop instead
   LoongArch: (NFC) Remove amo and use size instead
   LoongArch: Don't use "+" for atomic_{load,store} "m" constraint
   LoongArch: Allow using bstrins for masking the address in
     atomic_test_and_set
   LoongArch: Don't emit overly-restrictive barrier for LL-SC loops
   LoongArch: Remove unneeded "b 3f" instruction after LL-SC loops
   LoongArch: Remove unneeded "andi offset,addr,3" instruction in
     atomic_test_and_set
   LoongArch: Implement subword atomic_fetch_{and,or,xor} with am*.w
     instructions
   LoongArch: Don't expand atomic_fetch_sub_{hi,qi} to LL-SC loop if
     -mlam-bh
   LoongArch: Implement atomic_fetch_nand<GPR:mode>
   LoongArch: Implement 16-byte atomic load with LSX
   LoongArch: Implement 16-byte atomic store with LSX
   LoongArch: Add -m[no-]scq option
   LoongArch: Implement 16-byte atomic store with sc.q
   LoongArch: Implement 16-byte CAS with sc.q
   LoongArch: Implement 16-byte atomic exchange with sc.q
   LoongArch: Implement 16-byte atomic add, sub, and, or, xor, and nand
     with sc.q

  gcc/config/loongarch/genopts/isa-evolution.in |   1 +
  gcc/config/loongarch/loongarch-def.cc         |   4 +-
  gcc/config/loongarch/loongarch-evolution.cc   |   4 +
  gcc/config/loongarch/loongarch-evolution.h    |   8 +-
  gcc/config/loongarch/loongarch-str.h          |   1 +
  gcc/config/loongarch/loongarch.cc             |  30 +-
  gcc/config/loongarch/loongarch.opt            |   4 +
  gcc/config/loongarch/sync.md                  | 641 ++++++++++++------
  gcc/doc/invoke.texi                           |  11 +-
  9 files changed, 494 insertions(+), 210 deletions(-)


Reply via email to