1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py 2; RUN: opt -S -passes=instcombine < %s | FileCheck %s 3 4@A = external constant i32 5 6; OSS-Fuzz #14169 7; https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14169 8define void @ossfuzz_14169_test1(ptr %a0) { 9; CHECK-LABEL: @ossfuzz_14169_test1( 10; CHECK-NEXT: bb: 11; CHECK-NEXT: store ptr poison, ptr undef, align 8 12; CHECK-NEXT: ret void 13; 14bb: 15 %B = ptrtoint ptr @A to i64 16 %C = icmp sge i64 %B, 0 17 %X = select i1 %C, i712 0, i712 1 18 %B9 = lshr i712 %X, 146783911423364576743092537299333564210980159306769991919205685720763064069663027716481187399048043939495936 19 %G5 = getelementptr i64, ptr undef, i712 %B9 20 store ptr %G5, ptr undef 21 ret void 22} 23 24define void @ossfuzz_14169_test2(ptr %a0) { 25; CHECK-LABEL: @ossfuzz_14169_test2( 26; CHECK-NEXT: bb: 27; CHECK-NEXT: store ptr poison, ptr undef, align 8 28; CHECK-NEXT: ret void 29; 30bb: 31 %B = ptrtoint ptr @A to i64 32 %C = icmp sge i64 %B, 0 33 %X = select i1 %C, i712 0, i712 1 34 %B9 = shl i712 %X, 146783911423364576743092537299333564210980159306769991919205685720763064069663027716481187399048043939495936 35 %G5 = getelementptr i64, ptr undef, i712 %B9 36 store ptr %G5, ptr undef 37 ret void 38} 39