Add a test for 16-bit sh*d.
authorChris Lattner <sabre@nondot.org>
Wed, 19 Jan 2005 07:37:01 +0000 (07:37 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 19 Jan 2005 07:37:01 +0000 (07:37 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19688 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/X86/shift-double.llx

index ee3bc1e99257122a30c0e53ff2a9d08e506d7eda..1c60ddc547d432f74cd4d1ba5551823bf2444cf0 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llvm-as < %s | llc -march=x86 -x86-asm-syntax=intel -disable-pattern-isel=0 | grep sh[lr]d | wc -l | grep 4
+; RUN: llvm-as < %s | llc -march=x86 -x86-asm-syntax=intel -disable-pattern-isel=0 | grep sh[lr]d | wc -l | grep 5
 
 long %test1(long %X, ubyte %C) {
        %Y = shl long %X, ubyte %C
@@ -20,3 +20,11 @@ uint %test4(uint %A, uint %B, ubyte %C) {
        %Z = or uint %Y, %X
        ret uint %Z
 }
+
+ushort %test5(ushort %A, ushort %B, ubyte %C) {
+       %X = shl ushort %A, ubyte %C
+       %Cv = sub ubyte 16, %C
+       %Y = shr ushort %B, ubyte %Cv
+       %Z = or ushort %Y, %X
+       ret ushort %Z
+}