[all-commits] [llvm/llvm-project] ea6c45: [LoongArch] Override LoongArchTargetLowering::getE...
Lu Weining via All-commits
all-commits at lists.llvm.org
Mon Mar 11 14:20:43 PDT 2024
Branch: refs/heads/release/18.x
Home: https://github.com/llvm/llvm-project
Commit: ea6c457b8dd2d0e6a7f05b4a5bdd2686085e1ec0
https://github.com/llvm/llvm-project/commit/ea6c457b8dd2d0e6a7f05b4a5bdd2686085e1ec0
Author: Lu Weining <luweining at loongson.cn>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/test/CodeGen/LoongArch/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomic-cmpxchg.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw-fp.ll
Log Message:
-----------
[LoongArch] Override LoongArchTargetLowering::getExtendForAtomicCmpSwapArg (#83656)
This patch aims to solve Firefox issue:
https://bugzilla.mozilla.org/show_bug.cgi?id=1882301
Similar to 616289ed2922. Currently LoongArch uses an ll.[wd]/sc.[wd]
loop for ATOMIC_CMP_XCHG. Because the comparison in the loop is
full-width (i.e. the `bne` instruction), we must sign extend the input
comparsion argument.
Note that LoongArch ISA manual V1.1 has introduced compare-and-swap
instructions. We would change the implementation (return `ANY_EXTEND`)
when we support them.
(cherry picked from commit 5f058aa211995d2f0df2a0e063532832569cb7a8)
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list