Skip to content

Commit 4064369

Browse files
authored
[AArch64] Put legal action first for G_ATOMIC_CMPXCHG (#74613)
1 parent b0623fa commit 4064369

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -758,18 +758,18 @@ AArch64LegalizerInfo::AArch64LegalizerInfo(const AArch64Subtarget &ST)
758758
all(typeInSet(0, {s8, s16, s32, s64, s128}), typeIs(2, p0)));
759759

760760
getActionDefinitionsBuilder(G_ATOMIC_CMPXCHG)
761+
.legalIf(all(typeInSet(0, {s32, s64}), typeIs(1, p0)))
761762
.customIf([](const LegalityQuery &Query) {
762763
return Query.Types[0].getSizeInBits() == 128;
763764
})
764-
.clampScalar(0, s32, s64)
765-
.legalIf(all(typeInSet(0, {s32, s64}), typeIs(1, p0)));
765+
.clampScalar(0, s32, s64);
766766

767767
getActionDefinitionsBuilder(
768768
{G_ATOMICRMW_XCHG, G_ATOMICRMW_ADD, G_ATOMICRMW_SUB, G_ATOMICRMW_AND,
769769
G_ATOMICRMW_OR, G_ATOMICRMW_XOR, G_ATOMICRMW_MIN, G_ATOMICRMW_MAX,
770770
G_ATOMICRMW_UMIN, G_ATOMICRMW_UMAX})
771-
.clampScalar(0, s32, s64)
772-
.legalIf(all(typeInSet(0, {s32, s64}), typeIs(1, p0)));
771+
.legalIf(all(typeInSet(0, {s32, s64}), typeIs(1, p0)))
772+
.clampScalar(0, s32, s64);
773773

774774
getActionDefinitionsBuilder(G_BLOCK_ADDR).legalFor({p0});
775775

0 commit comments

Comments
 (0)