diff options
author | Jim Grosbach <grosbach@apple.com> | 2012-01-10 21:11:12 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2012-01-10 21:11:12 +0000 |
commit | f1f16c832f92829f47573620c20d8420c47bde6c (patch) | |
tree | 10fb265d683ea432257c7c03477e3f4f073c7b27 /test/CodeGen/ARM | |
parent | e4ad58272970ecd850d233862f40a72d15649639 (diff) |
ARM updating VST2 pseudo-lowering fixed vs. register update.
rdar://10663487
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147876 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/ARM')
-rw-r--r-- | test/CodeGen/ARM/vst2.ll | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/test/CodeGen/ARM/vst2.ll b/test/CodeGen/ARM/vst2.ll index 915a84b677..497214316a 100644 --- a/test/CodeGen/ARM/vst2.ll +++ b/test/CodeGen/ARM/vst2.ll @@ -110,6 +110,15 @@ define void @vst2Qf(float* %A, <4 x float>* %B) nounwind { ret void } +define i8* @vst2update(i8* %out, <4 x i16>* %B) nounwind { +;CHECK: vst2update +;CHECK: vst2.16 {d16, d17}, [r0]! + %tmp1 = load <4 x i16>* %B + tail call void @llvm.arm.neon.vst2.v4i16(i8* %out, <4 x i16> %tmp1, <4 x i16> %tmp1, i32 2) + %t5 = getelementptr inbounds i8* %out, i32 16 + ret i8* %t5 +} + declare void @llvm.arm.neon.vst2.v8i8(i8*, <8 x i8>, <8 x i8>, i32) nounwind declare void @llvm.arm.neon.vst2.v4i16(i8*, <4 x i16>, <4 x i16>, i32) nounwind declare void @llvm.arm.neon.vst2.v2i32(i8*, <2 x i32>, <2 x i32>, i32) nounwind |