; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt < %s -passes=sccp -S | FileCheck %s

@Y = constant [6 x i101] [ i101 12, i101 123456789000000, i101 -12,
  i101 -123456789000000, i101 0,i101 9123456789000000]

define i101 @array() {
; CHECK-LABEL: @array(
; CHECK-NEXT:    ret i101 123456789000000
;
  %A = getelementptr [6 x i101], [6 x i101]* @Y, i32 0, i32 1
  %B = load i101, i101* %A
  %D = and i101 %B, 1
  %DD = or i101 %D, 1
  %E = trunc i101 %DD to i32
  %F = getelementptr [6 x i101], [6 x i101]* @Y, i32 0, i32 %E
  %G = load i101, i101* %F

  ret i101 %G
}

define i101 @large_aggregate() {
; CHECK-LABEL: @large_aggregate(
; CHECK-NEXT:    [[D:%.*]] = and i101 undef, 1
; CHECK-NEXT:    [[DD:%.*]] = or i101 [[D]], 1
; CHECK-NEXT:    [[G:%.*]] = getelementptr i101, i101* getelementptr inbounds ([6 x i101], [6 x i101]* @Y, i32 0, i32 5), i101 [[DD]]
; CHECK-NEXT:    [[L3:%.*]] = load i101, i101* [[G]], align 4
; CHECK-NEXT:    ret i101 [[L3]]
;
  %B = load i101, i101* undef
  %D = and i101 %B, 1
  %DD = or i101 %D, 1
  %F = getelementptr [6 x i101], [6 x i101]* @Y, i32 0, i32 5
  %G = getelementptr i101, i101* %F, i101 %DD
  %L3 = load i101, i101* %G
  ret i101 %L3
}

define i101 @large_aggregate_2() {
; CHECK-LABEL: @large_aggregate_2(
; CHECK-NEXT:    [[D:%.*]] = and i101 undef, 1
; CHECK-NEXT:    [[DD:%.*]] = or i101 [[D]], 1
; CHECK-NEXT:    [[G:%.*]] = getelementptr i101, i101* getelementptr inbounds ([6 x i101], [6 x i101]* @Y, i32 0, i32 5), i101 [[DD]]
; CHECK-NEXT:    [[L3:%.*]] = load i101, i101* [[G]], align 4
; CHECK-NEXT:    ret i101 [[L3]]
;
  %D = and i101 undef, 1
  %DD = or i101 %D, 1
  %F = getelementptr [6 x i101], [6 x i101]* @Y, i32 0, i32 5
  %G = getelementptr i101, i101* %F, i101 %DD
  %L3 = load i101, i101* %G
  ret i101 %L3
}

define void @index_too_large() {
; CHECK-LABEL: @index_too_large(
; CHECK-NEXT:    store i101* getelementptr (i101, i101* getelementptr ([6 x i101], [6 x i101]* @Y, i32 0, i32 -1), i101 9224497936761618431), i101** undef, align 8
; CHECK-NEXT:    ret void
;
  %ptr1 = getelementptr [6 x i101], [6 x i101]* @Y, i32 0, i32 -1
  %ptr2 = getelementptr i101, i101* %ptr1, i101 9224497936761618431
  store i101* %ptr2, i101** undef
  ret void
}

; OSS-Fuzz #39197
; https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=39197
@0 = external dso_local unnamed_addr constant [16 x i8]
define void @ossfuzz_39197() {
; CHECK-LABEL: @ossfuzz_39197(
; CHECK-NEXT:  entry:
; CHECK-NEXT:    ret void
;
entry:
  %B5 = or i72 0, 2361183241434822606847
  %i = add nuw nsw i72 %B5, 0
  %i1 = lshr i72 %i, 1
  %i2 = getelementptr inbounds [4 x [4 x i8]], [4 x [4 x i8]]* bitcast ([16 x i8]* @0 to [4 x [4 x i8]]*), i72 0, i72 0, i72 %i1
  ret void
}
