[AArch64]Merge halfword loads into a 32-bit load
authorJun Bum Lim <junbuml@codeaurora.org>
Mon, 19 Oct 2015 18:34:53 +0000 (18:34 +0000)
committerJun Bum Lim <junbuml@codeaurora.org>
Mon, 19 Oct 2015 18:34:53 +0000 (18:34 +0000)
commit38a9a5302bfd88bd975c847661f9f04e45612226
treef008379ca53f073ea222b82c2bb60876ab8f8e8f
parentd497ef1505d652e4aa3ada24ece8785955e43c84
[AArch64]Merge halfword loads into a 32-bit load

Convert two halfword loads into a single 32-bit word load with bitfield extract
instructions. For example :
  ldrh w0, [x2]
  ldrh w1, [x2, #2]
becomes
  ldr w0, [x2]
  ubfx w1, w0, #16, #16
  and  w0, w0, #ffff

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250719 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
test/CodeGen/AArch64/arm64-ldp.ll