diff options
author | Jakub Staszak <kubastaszak@gmail.com> | 2012-10-29 21:56:35 +0000 |
---|---|---|
committer | Jakub Staszak <kubastaszak@gmail.com> | 2012-10-29 21:56:35 +0000 |
commit | 6d317824a5e8b4c5d8dc18e9e2ec365e5a1b515e (patch) | |
tree | c6d6a42eac87bc7a3fac3a9a3186a8f225686be7 /lib/Target/ARM/Disassembler/ARMDisassembler.cpp | |
parent | 369ff7b740c154dc4357c6d063f4957498a1e7b9 (diff) |
Allow to fold vector load if there is more than one bitcast, so in the case:
%0 = load <8 x i16>* %dest
%1 = shufflevector <8 x i16> %0, <8 x i16> %in,
<8 x i32> < i32 0, i32 1, i32 2, i32 3, i32 13, i32 undef, i32 14, i32 14>
store <8 x i16> %1, <8 x i16>* %dest
We get:
vmovlpd (%eax), %xmm0, %xmm0
instead of:
vmovaps (%eax), %xmm1
vmovsd %xmm1, %xmm0, %xmm0
No extra test-case is added. I just fixed the existing one
(also it uses FileCheck now).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166971 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/Disassembler/ARMDisassembler.cpp')
0 files changed, 0 insertions, 0 deletions