diff options
author | Tanya Lattner <tonic@nondot.org> | 2008-03-25 04:26:08 +0000 |
---|---|---|
committer | Tanya Lattner <tonic@nondot.org> | 2008-03-25 04:26:08 +0000 |
commit | 6f729d601c8a6a9710356aadb42dc8d0efa95bf2 (patch) | |
tree | e662b3ee5539d7594ab49eda3eae140424ce499d /test/CodeGen/X86/2006-05-08-CoalesceSubRegClass.ll | |
parent | a2fb634defce316ec972aa6f3ca3a941b4656f5e (diff) | |
download | llvm-6f729d601c8a6a9710356aadb42dc8d0efa95bf2.tar.gz llvm-6f729d601c8a6a9710356aadb42dc8d0efa95bf2.tar.bz2 llvm-6f729d601c8a6a9710356aadb42dc8d0efa95bf2.tar.xz |
Byebye llvm-upgrade!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48762 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/2006-05-08-CoalesceSubRegClass.ll')
-rw-r--r-- | test/CodeGen/X86/2006-05-08-CoalesceSubRegClass.ll | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/test/CodeGen/X86/2006-05-08-CoalesceSubRegClass.ll b/test/CodeGen/X86/2006-05-08-CoalesceSubRegClass.ll index e97e38743e..900abe55cd 100644 --- a/test/CodeGen/X86/2006-05-08-CoalesceSubRegClass.ll +++ b/test/CodeGen/X86/2006-05-08-CoalesceSubRegClass.ll @@ -1,23 +1,25 @@ ; Coalescing from R32 to a subset R32_. Once another register coalescer bug is ; fixed, the movb should go away as well. -; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86 -relocation-model=static | \ +; RUN: llvm-as < %s | llc -march=x86 -relocation-model=static | \ ; RUN: grep movl -%B = external global uint -%C = external global ushort* +@B = external global i32 ; <i32*> [#uses=2] +@C = external global i16* ; <i16**> [#uses=2] -void %test(uint %A) { - %A = cast uint %A to ubyte - %tmp2 = load uint* %B - %tmp3 = and ubyte %A, 16 - %tmp4 = shl uint %tmp2, ubyte %tmp3 - store uint %tmp4, uint* %B - %tmp6 = shr uint %A, ubyte 3 - %tmp = load ushort** %C - %tmp8 = cast ushort* %tmp to uint - %tmp9 = add uint %tmp8, %tmp6 - %tmp9 = cast uint %tmp9 to ushort* - store ushort* %tmp9, ushort** %C +define void @test(i32 %A) { + %A.upgrd.1 = trunc i32 %A to i8 ; <i8> [#uses=1] + %tmp2 = load i32* @B ; <i32> [#uses=1] + %tmp3 = and i8 %A.upgrd.1, 16 ; <i8> [#uses=1] + %shift.upgrd.2 = zext i8 %tmp3 to i32 ; <i32> [#uses=1] + %tmp4 = shl i32 %tmp2, %shift.upgrd.2 ; <i32> [#uses=1] + store i32 %tmp4, i32* @B + %tmp6 = lshr i32 %A, 3 ; <i32> [#uses=1] + %tmp = load i16** @C ; <i16*> [#uses=1] + %tmp8 = ptrtoint i16* %tmp to i32 ; <i32> [#uses=1] + %tmp9 = add i32 %tmp8, %tmp6 ; <i32> [#uses=1] + %tmp9.upgrd.3 = inttoptr i32 %tmp9 to i16* ; <i16*> [#uses=1] + store i16* %tmp9.upgrd.3, i16** @C ret void } + |