aboutsummaryrefslogtreecommitdiffstats
path: root/test/CodeGen/ARM
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2010-11-01 18:31:39 +0000
committerBob Wilson <bob.wilson@apple.com>2010-11-01 18:31:39 +0000
commit24645a1a6d317acfc16303237704f32364fb2f0f (patch)
tree0767f6c6fa95f8764e2da59544ae5e58ec88fff6 /test/CodeGen/ARM
parent4845f990081d466ad193d90d1cd6f1d0eb910309 (diff)
downloadexternal_llvm-24645a1a6d317acfc16303237704f32364fb2f0f.zip
external_llvm-24645a1a6d317acfc16303237704f32364fb2f0f.tar.gz
external_llvm-24645a1a6d317acfc16303237704f32364fb2f0f.tar.bz2
NEON does not support truncating vector stores. Radar 8598391.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117940 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/ARM')
-rw-r--r--test/CodeGen/ARM/vmov.ll10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/CodeGen/ARM/vmov.ll b/test/CodeGen/ARM/vmov.ll
index 4d654d7..a86be32 100644
--- a/test/CodeGen/ARM/vmov.ll
+++ b/test/CodeGen/ARM/vmov.ll
@@ -343,3 +343,13 @@ declare <2 x i32> @llvm.arm.neon.vqmovnu.v2i32(<2 x i64>) nounwind readnone
declare <8 x i8> @llvm.arm.neon.vqmovnsu.v8i8(<8 x i16>) nounwind readnone
declare <4 x i16> @llvm.arm.neon.vqmovnsu.v4i16(<4 x i32>) nounwind readnone
declare <2 x i32> @llvm.arm.neon.vqmovnsu.v2i32(<2 x i64>) nounwind readnone
+
+; Truncating vector stores are not supported. The following should not crash.
+; Radar 8598391.
+define void @noTruncStore(<4 x i32>* %a, <4 x i16>* %b) nounwind {
+;CHECK: vmovn
+ %tmp1 = load <4 x i32>* %a, align 16
+ %tmp2 = trunc <4 x i32> %tmp1 to <4 x i16>
+ store <4 x i16> %tmp2, <4 x i16>* %b, align 8
+ ret void
+}