[PATCH] D59477: [RISCV] Custom lower SHL_PARTS, SRA_PARTS, SRL_PARTS

Luís Marques via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Mar 17 13:12:09 PDT 2019


luismarques created this revision.
luismarques added reviewers: asb, apazos, efriedma, rogfer01.
Herald added subscribers: llvm-commits, psnobl, jocewei, PkmX, rkruppe, the_o, brucehoult, MartinMosbeck, edward-jones, zzheng, jrtc27, shiva0217, kito-cheng, niosHD, sabuasal, simoncook, johnrusso, rbar.
Herald added a project: LLVM.

When not optimizing for minimum size (-Oz) we custom lower wide shifts 
(SHL_PARTS, SRA_PARTS, SRL_PARTS) instead of expanding to a libcall. Although 
conceptually independent from it, this patch builds upon the D59355 <https://reviews.llvm.org/D59355> optimization 
of SELECT sequences to obtain the optimized code exhibited in the updated tests.


Repository:
  rL LLVM

https://reviews.llvm.org/D59477

Files:
  lib/Target/RISCV/RISCVISelLowering.cpp
  lib/Target/RISCV/RISCVISelLowering.h
  test/CodeGen/RISCV/alu64.ll
  test/CodeGen/RISCV/shifts.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D59477.191038.patch
Type: text/x-patch
Size: 11081 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190317/71ef2816/attachment.bin>


More information about the llvm-commits mailing list