diff --git a/test/CodeGen/X86/extend.ll b/test/CodeGen/X86/extend.ll new file mode 100644 index 00000000000..1685d3ba421 --- /dev/null +++ b/test/CodeGen/X86/extend.ll @@ -0,0 +1,19 @@ +; RUN: llvm-as < %s | llc -march=x86 -x86-asm-syntax=intel | grep movzx | wc -l | grep 1 +; RUN: llvm-as < %s | llc -march=x86 -x86-asm-syntax=intel | grep movsx | wc -l | grep 1 + +%G1 = internal global ubyte 0 ; [#uses=1] +%G2 = internal global sbyte 0 ; [#uses=1] + +implementation ; Functions: + +short %test1() { ;; one zext + %tmp.0 = load ubyte* %G1 ; [#uses=1] + %tmp.3 = cast ubyte %tmp.0 to short ; [#uses=1] + ret short %tmp.3 +} + +short %test2() { ;; one sext + %tmp.0 = load sbyte* %G2 ; [#uses=1] + %tmp.3 = cast sbyte %tmp.0 to short ; [#uses=1] + ret short %tmp.3 +}