1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py 2; RUN: opt -S -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(i32* %a0) { 9; CHECK-LABEL: @ossfuzz_14169_test1( 10; CHECK-NEXT: bb: 11; CHECK-NEXT: ret void 12; 13bb: 14 %B = ptrtoint i32* @A to i64 15 %C = icmp sge i64 %B, 0 16 %X = select i1 %C, i712 0, i712 1 17 %B9 = lshr i712 %X, 146783911423364576743092537299333564210980159306769991919205685720763064069663027716481187399048043939495936 18 %G5 = getelementptr i64, i64* undef, i712 %B9 19 store i64* %G5, i64** undef 20 ret void 21} 22 23define void @ossfuzz_14169_test2(i32* %a0) { 24; CHECK-LABEL: @ossfuzz_14169_test2( 25; CHECK-NEXT: bb: 26; CHECK-NEXT: ret void 27; 28bb: 29 %B = ptrtoint i32* @A to i64 30 %C = icmp sge i64 %B, 0 31 %X = select i1 %C, i712 0, i712 1 32 %B9 = shl i712 %X, 146783911423364576743092537299333564210980159306769991919205685720763064069663027716481187399048043939495936 33 %G5 = getelementptr i64, i64* undef, i712 %B9 34 store i64* %G5, i64** undef 35 ret void 36} 37