[PATCH] D87628: [AArch64][GlobalISel] Select unscaled loads/stores in manual selector

Jessica Paquette via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 14 12:46:54 PDT 2020


paquette created this revision.
paquette added a reviewer: aemerson.
Herald added subscribers: danielkiss, hiraditya, kristof.beyls, rovka.
Herald added a project: LLVM.
paquette requested review of this revision.

For smaller types (e.g. 16-bit), we don't import patterns for unscaled loads and stores.

Teach the selector to do this.

We didn't really have any testcases for the unscaled load/store stuff anyway, so add testcases showing what we can select.

(Nothing for STURBi or LDURBi, since we need more legalizer support for s8s to get those.)

This is a 0.2% code size improvement on 7zip at -O3. (Geomean -0.0%)


https://reviews.llvm.org/D87628

Files:
  llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
  llvm/test/CodeGen/AArch64/GlobalISel/select-load.mir
  llvm/test/CodeGen/AArch64/GlobalISel/select-store.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D87628.291655.patch
Type: text/x-patch
Size: 14458 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200914/12a58192/attachment.bin>


More information about the llvm-commits mailing list