summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen
diff options
context:
space:
mode:
authorJeroen Ketema <j.ketema@imperial.ac.uk>2015-09-21 20:28:04 +0000
committerJeroen Ketema <j.ketema@imperial.ac.uk>2015-09-21 20:28:04 +0000
commit41681a5329ea53adc2e77f9fbaa6ecd2e908decc (patch)
treec97c285b4fe3a35270eac79907a25b8f067446cf /llvm/test/CodeGen
parent8abf7c87cdb5c4f6ef9a50c4f90372aa12b32f66 (diff)
downloadbcm5719-llvm-41681a5329ea53adc2e77f9fbaa6ecd2e908decc.tar.gz
bcm5719-llvm-41681a5329ea53adc2e77f9fbaa6ecd2e908decc.zip
[ARM] Do not scale vext with a factor
The vext pseudo-instruction takes the number of elements that need to be extracted, not the number of bytes. Hence, use the number of elements directly instead of scaling them with a factor. Reviewers: Silviu Baranga, James Molloy (not reflected in the differential revision) Differential Revision: http://reviews.llvm.org/D12974 llvm-svn: 248208
Diffstat (limited to 'llvm/test/CodeGen')
-rw-r--r--llvm/test/CodeGen/ARM/vzip.ll11
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/ARM/vzip.ll b/llvm/test/CodeGen/ARM/vzip.ll
index 24386a236f4..29385d0cc9d 100644
--- a/llvm/test/CodeGen/ARM/vzip.ll
+++ b/llvm/test/CodeGen/ARM/vzip.ll
@@ -305,3 +305,14 @@ entry:
store <4 x i32> %0, <4 x i32>* %B
ret void
}
+
+define void @vzip_vext_factor(<8 x i16>* %A, <4 x i16>* %B) {
+entry:
+ ; CHECK-LABEL: vzip_vext_factor
+ ; CHECK: vext.16 d16, d16, d17, #3
+ ; CHECK: vzip
+ %tmp1 = load <8 x i16>, <8 x i16>* %A
+ %0 = shufflevector <8 x i16> %tmp1, <8 x i16> undef, <4 x i32> <i32 4, i32 4, i32 5, i32 3>
+ store <4 x i16> %0, <4 x i16>* %B
+ ret void
+}
OpenPOWER on IntegriCloud