; RUN: opt < %s -instcombine -simplifycfg -S |\
; RUN:    not grep "call void @abort"

@b_rec.0 = external global i32          ; <i32*> [#uses=2]

define void @_Z12h000007_testv(i32* %P) {
entry:
        %tmp.2 = load i32, i32* @b_rec.0             ; <i32> [#uses=1]
        %tmp.9 = or i32 %tmp.2, -989855744              ; <i32> [#uses=2]
        %tmp.16 = and i32 %tmp.9, -805306369            ; <i32> [#uses=2]
        %tmp.17 = and i32 %tmp.9, -973078529            ; <i32> [#uses=1]
        store i32 %tmp.17, i32* @b_rec.0
        %tmp.17.shrunk = bitcast i32 %tmp.16 to i32             ; <i32> [#uses=1]
        %tmp.22 = and i32 %tmp.17.shrunk, -1073741824           ; <i32> [#uses=1]
        %tmp.23 = icmp eq i32 %tmp.22, -1073741824              ; <i1> [#uses=1]
        br i1 %tmp.23, label %endif.0, label %then.0

then.0:         ; preds = %entry
        tail call void @abort( )
        unreachable

endif.0:                ; preds = %entry
        %tmp.17.shrunk2 = bitcast i32 %tmp.16 to i32            ; <i32> [#uses=1]
        %tmp.27.mask = and i32 %tmp.17.shrunk2, 100663295               ; <i32> [#uses=1]
        store i32 %tmp.27.mask, i32* %P
        ret void
}

declare void @abort()

