; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86 -x86-asm-syntax=intel | grep movzx | count 1
; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86 -x86-asm-syntax=intel | grep movsx | count 1

%G1 = internal global ubyte 0		; <ubyte*> [#uses=1]
%G2 = internal global sbyte 0		; <sbyte*> [#uses=1]

implementation   ; Functions:

short %test1() {  ;; one zext
	%tmp.0 = load ubyte* %G1		; <ubyte> [#uses=1]
	%tmp.3 = cast ubyte %tmp.0 to short		; <short> [#uses=1]
	ret short %tmp.3
}

short %test2() {  ;; one sext
	%tmp.0 = load sbyte* %G2		; <sbyte> [#uses=1]
	%tmp.3 = cast sbyte %tmp.0 to short		; <short> [#uses=1]
	ret short %tmp.3
}
