; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc -mtriple=x86_64-- < %s | FileCheck %s

@g = global i32 0

define <1 x i64> @trapping_const_agg(i1 %c, i1 %c2) {
; CHECK-LABEL: trapping_const_agg:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    testb $1, %dil
; CHECK-NEXT:    je .LBB0_4
; CHECK-NEXT:  # %bb.1: # %if
; CHECK-NEXT:    testb $1, %sil
; CHECK-NEXT:    je .LBB0_4
; CHECK-NEXT:  # %bb.2: # %if.end_crit_edge
; CHECK-NEXT:    movl $1, %eax
; CHECK-NEXT:    xorl %edx, %edx
; CHECK-NEXT:    idivq g@GOTPCREL(%rip)
; CHECK-NEXT:    movq %rdx, %rax
; CHECK-NEXT:    retq
; CHECK-NEXT:  .LBB0_4: # %end2
; CHECK-NEXT:    xorl %eax, %eax
; CHECK-NEXT:    retq
entry:
  br i1 %c, label %if, label %end
if:
  br i1 %c2, label %end, label %end2
end:
  %phi = phi <1 x i64> [ zeroinitializer, %entry ], [ <i64 srem (i64 1, i64 ptrtoint (ptr @g to i64))>, %if ]
  ret <1 x i64> %phi

end2:
  ret <1 x i64> zeroinitializer
}
