; RUN: llvm-upgrade < %s | llvm-as | llc
; PR748

%G = external global ushort		; <ushort*> [#uses=1]

implementation   ; Functions:

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

then.0:		; preds = %entry
	ret void

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

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

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

then.10:		; preds = %else.3, %else.3
	%tmp.112 = load ushort* null		; <ushort> [#uses=2]
	%tmp.113 = load ushort* %G		; <ushort> [#uses=2]
	%tmp.114 = setgt ushort %tmp.112, %tmp.113		; <bool> [#uses=1]
	%tmp.120 = setlt ushort %tmp.112, %tmp.113		; <bool> [#uses=1]
	%bothcond = and bool %tmp.114, %tmp.120		; <bool> [#uses=1]
	br bool %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
}
