; 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, i16* null		; <i16> [#uses=2]
	%tmp.113 = load i16, 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
}
