CCMP/CCMN's second operator support const from 0 to 31. When the CCMP's second operator is in the range [-31, -1] we can replace it with CCMN to avoid extra mov.
Fix: #57034
Paths
| Differential D135939
[AArch64] Select to CCMN when the CCMP's second operator is negative constant ClosedPublic Authored by bcl5980 on Oct 13 2022, 9:12 PM.
Details Summary CCMP/CCMN's second operator support const from 0 to 31. When the CCMP's second operator is in the range [-31, -1] we can replace it with CCMN to avoid extra mov. Fix: #57034
Diff Detail
Unit TestsFailed
Event TimelineThis revision is now accepted and ready to land.Oct 13 2022, 9:39 PM This revision was landed with ongoing or failed builds.Oct 14 2022, 6:41 AM Closed by commit rG85e41fcaacc8: [AArch64] Select to CCMN when the CCMP's second operator is negative constant (authored by bcl5980). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 467679 llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/test/CodeGen/AArch64/arm64-ccmp.ll
|