(CMTST A, A) will only set elements to 0 if the element is 0 in A. Use
it for != 0 compares, which currently use (vnot (CMEQz A)). This saves a
mvn instruction.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Paths
| Differential D97303
[AArch64] Use CMTST for != 0 vector compares (vnot (CMEQz A)). ClosedPublic Authored by fhahn on Feb 23 2021, 9:15 AM.
Details Summary (CMTST A, A) will only set elements to 0 if the element is 0 in A. Use
Diff Detail
Event TimelineHerald added subscribers: danielkiss, hiraditya, kristof.beyls. · View Herald TranscriptFeb 23 2021, 9:15 AM This revision is now accepted and ready to land.Feb 23 2021, 9:56 AM This revision was landed with ongoing or failed builds.Feb 24 2021, 1:39 AM Closed by commit rG5c74c6be3c29: [AArch64] Use CMTST for != 0 vector compares (vnot (CMEQz A)). (authored by fhahn). · Explain Why This revision was automatically updated to reflect the committed changes. Comment Actions
Thanks, once I found the right place to add it fit in quite nicely :)
Revision Contents
Diff 326018 llvm/lib/Target/AArch64/AArch64InstrInfo.td
llvm/test/CodeGen/AArch64/neon-compare-instructions.ll
llvm/test/CodeGen/AArch64/vec_umulo.ll
|