summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/R600/concat_vectors.ll
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2015-04-23 22:59:24 +0000
committerTom Stellard <thomas.stellard@amd.com>2015-04-23 22:59:24 +0000
commitff5cf0e1fd16b537556c56b9ab5c696b595ca813 (patch)
tree02f04804035cf92fa85f14d87dffc235e8c779b5 /llvm/test/CodeGen/R600/concat_vectors.ll
parent2a553089c30fc3cda435ffef90bc3d2976d531d1 (diff)
downloadbcm5719-llvm-ff5cf0e1fd16b537556c56b9ab5c696b595ca813.tar.gz
bcm5719-llvm-ff5cf0e1fd16b537556c56b9ab5c696b595ca813.zip
R600: Correctly lower CONCAT_VECTOR nodes with more than 2 operands
llvm-svn: 235662
Diffstat (limited to 'llvm/test/CodeGen/R600/concat_vectors.ll')
-rw-r--r--llvm/test/CodeGen/R600/concat_vectors.ll11
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/R600/concat_vectors.ll b/llvm/test/CodeGen/R600/concat_vectors.ll
index 6b3fae384db..a09ed1f7385 100644
--- a/llvm/test/CodeGen/R600/concat_vectors.ll
+++ b/llvm/test/CodeGen/R600/concat_vectors.ll
@@ -283,3 +283,14 @@ define void @test_concat_v16i16(<32 x i16> addrspace(1)* %out, <16 x i16> %a, <1
store <32 x i16> %concat, <32 x i16> addrspace(1)* %out, align 64
ret void
}
+
+; FUNC-LABEL: {{^}}concat_vector_crash:
+; SI: s_endpgm
+define void @concat_vector_crash(<8 x float> addrspace(1)* %out, <2 x float> addrspace(1)* %in) {
+bb:
+ %tmp = load <2 x float>, <2 x float> addrspace(1)* %in, align 4
+ %tmp1 = shufflevector <2 x float> %tmp, <2 x float> undef, <8 x i32> <i32 0, i32 1, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
+ %tmp2 = shufflevector <8 x float> undef, <8 x float> %tmp1, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 8, i32 9>
+ store <8 x float> %tmp2, <8 x float> addrspace(1)* %out, align 32
+ ret void
+}
OpenPOWER on IntegriCloud