[PATCH] D47176: [AArch64] Improve orr+movk sequences for MOVi64imm.

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 21 19:14:27 PDT 2018


efriedma created this revision.
efriedma added reviewers: rengolin, evandro, kristof.beyls, mcrosier.
Herald added a reviewer: javed.absar.

The existing code has three different ways to try to lower a 64-bit immediate to an ORR+MOVK.  The result is messy: it misses some possible sequences, and the order of the checks means we sometimes emit ORR+MOVK+MOVK instead of ORR+MOVK.

Instead, just use a simple loop to try all possible two-instruction ORR+MOVK sequences.


Repository:
  rL LLVM

https://reviews.llvm.org/D47176

Files:
  lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
  test/CodeGen/AArch64/arm64-movi.ll
  test/CodeGen/AArch64/arm64-variadic-aapcs.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D47176.147933.patch
Type: text/x-patch
Size: 17627 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180522/7d32372d/attachment.bin>


More information about the llvm-commits mailing list