; RUN: llc < %s
; PR748
@G = external global i16		; <i16*> [#uses=1]

define void @OmNewObjHdr() {
entry:
	br i1 false, label %endif.4, label %then.0

then.0:		; preds = %entry
	ret void

endif.4:		; preds = %entry
	br i1 false, label %else.3, label %shortcirc_next.3

shortcirc_next.3:		; preds = %endif.4
	ret void

else.3:		; preds = %endif.4
	switch i32 0, label %endif.10 [
		 i32 5001, label %then.10
		 i32 -5008, label %then.10
	]

then.10:		; preds = %else.3, %else.3
	%tmp.112 = load i16* null		; <i16> [#uses=2]
	%tmp.113 = load i16* @G		; <i16> [#uses=2]
	%tmp.114 = icmp ugt i16 %tmp.112, %tmp.113		; <i1> [#uses=1]
	%tmp.120 = icmp ult i16 %tmp.112, %tmp.113		; <i1> [#uses=1]
	%bothcond = and i1 %tmp.114, %tmp.120		; <i1> [#uses=1]
	br i1 %bothcond, label %else.4, label %then.11

then.11:		; preds = %then.10
	ret void

else.4:		; preds = %then.10
	ret void

endif.10:		; preds = %else.3
	ret void
}
