summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2018-01-26 15:50:20 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2018-01-26 15:50:20 +0000
commitf531cf8964c2d0e49a35bf4f05478b498b2a5fd4 (patch)
treeb45f0b4505402241f8c3dae4c51aa55954c9bd30 /llvm/test
parent0b4eb1ead18e437b3f630bf3f4c082adab417170 (diff)
downloadbcm5719-llvm-f531cf8964c2d0e49a35bf4f05478b498b2a5fd4.tar.gz
bcm5719-llvm-f531cf8964c2d0e49a35bf4f05478b498b2a5fd4.zip
[DAGCombine] reduceBuildVecToShuffle - ensure EXTRACT_VECTOR_ELT index is in range
From OSS Fuzz Test Case #5688 llvm-svn: 323535
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/X86/buildvec-insertvec.ll15
1 files changed, 15 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/buildvec-insertvec.ll b/llvm/test/CodeGen/X86/buildvec-insertvec.ll
index dac5976dbec..b96233aa788 100644
--- a/llvm/test/CodeGen/X86/buildvec-insertvec.ll
+++ b/llvm/test/CodeGen/X86/buildvec-insertvec.ll
@@ -556,3 +556,18 @@ define <16 x i8> @test_buildvector_v16i8_register_zero_2(i8 %a2, i8 %a3, i8 %a6,
%ins15 = insertelement <16 x i8> %ins14, i8 %a15, i32 15
ret <16 x i8> %ins15
}
+
+; OSS-Fuzz #5688
+; https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5688
+define <4 x i32> @ossfuzz5688(i32 %a0) {
+; CHECK-LABEL: ossfuzz5688:
+; CHECK: # %bb.0:
+; CHECK-NEXT: retq
+ %1 = insertelement <4 x i32> zeroinitializer, i32 -2147483648, i32 %a0
+ %2 = extractelement <4 x i32> %1, i32 %a0
+ %3 = extractelement <4 x i32> <i32 30, i32 53, i32 42, i32 12>, i32 %2
+ %4 = extractelement <4 x i32> zeroinitializer, i32 %2
+ %5 = insertelement <4 x i32> undef, i32 %3, i32 undef
+ store i32 %4, i32* undef
+ ret <4 x i32> %5
+}
OpenPOWER on IntegriCloud