[PATCH] D125470: [AArch64] Predicate SSHLL;SCVTF patterns behind UseAlternateSExtLoadCVTF32

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 12 08:00:28 PDT 2022


dmgreen created this revision.
dmgreen added reviewers: SjoerdMeijer, jaykang10, samtebbs, t.p.northover.
Herald added subscribers: hiraditya, kristof.beyls.
Herald added a project: All.
dmgreen requested review of this revision.
Herald added a project: LLVM.

There have been some patterns in the AArch64 backend to optimize code of the form:

  ldrsh w8, [x0]
  scvtf s0, w8

to:

  ldr h0, [x0]      
  sshll v0.4s, v0.4h, #0
  scvtf s0, s0          

The idea is to remove the GRP->FPR move, but in reality is making code larger and slower (or the same) on all the cpus I tried.

This patch adds the UseAlternateSExtLoadCVTF32 predicate similar to nearby related pattern.


https://reviews.llvm.org/D125470

Files:
  llvm/lib/Target/AArch64/AArch64InstrInfo.td
  llvm/test/CodeGen/AArch64/arm64-scvt.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D125470.428943.patch
Type: text/x-patch
Size: 6582 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220512/da1c53e7/attachment.bin>


More information about the llvm-commits mailing list