diff options
Diffstat (limited to 'test/CodeGen/X86')
38 files changed, 0 insertions, 883 deletions
diff --git a/test/CodeGen/X86/2002-12-23-LocalRAProblem.ll b/test/CodeGen/X86/2002-12-23-LocalRAProblem.ll deleted file mode 100644 index df4a8f52f0be..000000000000 --- a/test/CodeGen/X86/2002-12-23-LocalRAProblem.ll +++ /dev/null @@ -1,15 +0,0 @@ -; RUN: llvm-as < %s | llc -march=x86 -regalloc=simple - -define i32 @main() { - ; %A = 0 - %A = add i32 0, 0 ; <i32> [#uses=1] - ; %B = 1 - %B = add i32 0, 1 ; <i32> [#uses=2] - br label %bb1 -bb1: ; preds = %0 - ; %X = 0*1 = 0 - %X = mul i32 %A, %B ; <i32> [#uses=0] - ; %r = 0 - %R = sub i32 %B, 1 ; <i32> [#uses=1] - ret i32 %R -} diff --git a/test/CodeGen/X86/2002-12-23-SubProblem.ll b/test/CodeGen/X86/2002-12-23-SubProblem.ll deleted file mode 100644 index 68200ff2349e..000000000000 --- a/test/CodeGen/X86/2002-12-23-SubProblem.ll +++ /dev/null @@ -1,7 +0,0 @@ -; RUN: llvm-as < %s | llc -march=x86 -regalloc=simple - -define i32 @main(i32 %B) { - ;%B = add i32 0, 1; - %R = sub i32 %B, 1 ; %r = 0 - ret i32 %R -} diff --git a/test/CodeGen/X86/2007-09-03-X86-64-EhSelector.ll b/test/CodeGen/X86/2007-09-03-X86-64-EhSelector.ll deleted file mode 100644 index dac788007611..000000000000 --- a/test/CodeGen/X86/2007-09-03-X86-64-EhSelector.ll +++ /dev/null @@ -1,38 +0,0 @@ -; RUN: llvm-as < %s | llc -march=x86-64 -enable-eh -; PR1632 - -define void @_Z1fv() { -entry: - invoke void @_Z1gv( ) - to label %return unwind label %unwind - -unwind: ; preds = %entry - br i1 false, label %eh_then, label %cleanup20 - -eh_then: ; preds = %unwind - invoke void @__cxa_end_catch( ) - to label %return unwind label %unwind10 - -unwind10: ; preds = %eh_then - %eh_select13 = tail call i64 (i8*, i8*, ...)* @llvm.eh.selector.i64( i8* null, i8* bitcast (void ()* @__gxx_personality_v0 to i8*), i32 1 ) ; <i32> [#uses=2] - %tmp18 = icmp slt i64 %eh_select13, 0 ; <i1> [#uses=1] - br i1 %tmp18, label %filter, label %cleanup20 - -filter: ; preds = %unwind10 - unreachable - -cleanup20: ; preds = %unwind10, %unwind - %eh_selector.0 = phi i64 [ 0, %unwind ], [ %eh_select13, %unwind10 ] ; <i32> [#uses=0] - ret void - -return: ; preds = %eh_then, %entry - ret void -} - -declare void @_Z1gv() - -declare i64 @llvm.eh.selector.i64(i8*, i8*, ...) - -declare void @__gxx_personality_v0() - -declare void @__cxa_end_catch() diff --git a/test/CodeGen/X86/20081212.ll b/test/CodeGen/X86/20081212.ll deleted file mode 100644 index 1a5cad94d2ad..000000000000 --- a/test/CodeGen/X86/20081212.ll +++ /dev/null @@ -1,12 +0,0 @@ -; RUN: llvm-as < %s | llc -march=x86-64 -mtriple=x86_64-unknown-linux-gnu | grep ^.L_Z1fv.eh -; RUN: llvm-as < %s | llc -march=x86 -mtriple=i686-unknown-linux-gnu | grep ^.L_Z1fv.eh -; RUN: llvm-as < %s | llc -march=x86-64 -mtriple=-mtriple=x86_64-apple-darwin9 | grep ^__Z1fv.eh -; RUN: llvm-as < %s | llc -march=x86 -mtriple=-mtriple=i386-apple-darwin9 | grep ^__Z1fv.eh - -define void @_Z1fv() { -entry: - br label %return - -return: - ret void -} diff --git a/test/CodeGen/X86/2009-04-17-tls-fast.ll b/test/CodeGen/X86/2009-04-17-tls-fast.ll deleted file mode 100644 index 6a8054eae25e..000000000000 --- a/test/CodeGen/X86/2009-04-17-tls-fast.ll +++ /dev/null @@ -1,17 +0,0 @@ -; RUN: llvm-as < %s | llc -march=x86-64 -mtriple=x86_64-linux-gnu -relocation-model=pic -regalloc=local > %t -; RUN: grep {leaq foo@TLSGD(%rip), %rdi} %t - -@foo = internal thread_local global i32 100 - -define void @f(i32 %n) nounwind { -entry: - %n_addr = alloca i32 - %p = alloca i32* - %"alloca point" = bitcast i32 0 to i32 - store i32 %n, i32* %n_addr - store i32* @foo, i32** %p, align 8 - br label %return - -return: - ret void -} diff --git a/test/CodeGen/X86/2009-04-29-InlineAsmPMemoryModifier.ll b/test/CodeGen/X86/2009-04-29-InlineAsmPMemoryModifier.ll deleted file mode 100644 index 65cee9df2f7e..000000000000 --- a/test/CodeGen/X86/2009-04-29-InlineAsmPMemoryModifier.ll +++ /dev/null @@ -1,12 +0,0 @@ -; RUN: llvm-as < %s | llc -march=x86-64 | grep gs: | not grep rip -; PR3379 - -target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128" -target triple = "x86_64-unknown-linux-gnu" -@per_cpu__cpu_number = external global i32 ; <i32*> [#uses=1] - -define void @pat_init() nounwind { -entry: - %0 = call i32 asm "movl %gs:${1:P},$0", "=r,*m,~{dirflag},~{fpsr},~{flags}"(i32* @per_cpu__cpu_number) nounwind ; <i32> [#uses=0] - unreachable -} diff --git a/test/CodeGen/X86/commute-cmov.ll b/test/CodeGen/X86/commute-cmov.ll deleted file mode 100644 index ac0e4ef3e577..000000000000 --- a/test/CodeGen/X86/commute-cmov.ll +++ /dev/null @@ -1,25 +0,0 @@ -; RUN: llvm-as < %s | llc -march=x86 > %t -; RUN: grep btl %t | count 2 -; RUN: grep cmov %t | count 2 -; RUN: not grep test %t -; RUN: not grep set %t -; RUN: not grep j %t -; RUN: not grep cmovne %t -; RUN: not grep cmove %t - -define i32 @foo(i32 %x, i32 %n, i32 %w, i32 %v) nounwind readnone { -entry: - %0 = lshr i32 %x, %n ; <i32> [#uses=1] - %1 = and i32 %0, 1 ; <i32> [#uses=1] - %toBool = icmp eq i32 %1, 0 ; <i1> [#uses=1] - %.0 = select i1 %toBool, i32 %v, i32 12 ; <i32> [#uses=1] - ret i32 %.0 -} -define i32 @bar(i32 %x, i32 %n, i32 %w, i32 %v) nounwind readnone { -entry: - %0 = lshr i32 %x, %n ; <i32> [#uses=1] - %1 = and i32 %0, 1 ; <i32> [#uses=1] - %toBool = icmp eq i32 %1, 0 ; <i1> [#uses=1] - %.0 = select i1 %toBool, i32 12, i32 %v ; <i32> [#uses=1] - ret i32 %.0 -} diff --git a/test/CodeGen/X86/fast-isel-gep-sext.ll b/test/CodeGen/X86/fast-isel-gep-sext.ll deleted file mode 100644 index 4e988f5e5af4..000000000000 --- a/test/CodeGen/X86/fast-isel-gep-sext.ll +++ /dev/null @@ -1,17 +0,0 @@ -; RUN: llvm-as < %s | llc -march=x86-64 -O0 | grep movslq -; RUN: llvm-as < %s | llc -march=x86 -O0 -; PR3181 - -; GEP indices are interpreted as signed integers, so they -; should be sign-extended to 64 bits on 64-bit targets. - -define i32 @foo(i32 %t3, i32* %t1) nounwind { - %t9 = getelementptr i32* %t1, i32 %t3 ; <i32*> [#uses=1] - %t15 = load i32* %t9 ; <i32> [#uses=1] - ret i32 %t15 -} -define i32 @bar(i64 %t3, i32* %t1) nounwind { - %t9 = getelementptr i32* %t1, i64 %t3 ; <i32*> [#uses=1] - %t15 = load i32* %t9 ; <i32> [#uses=1] - ret i32 %t15 -} diff --git a/test/CodeGen/X86/lea-neg.ll b/test/CodeGen/X86/lea-neg.ll deleted file mode 100644 index a559e15b5850..000000000000 --- a/test/CodeGen/X86/lea-neg.ll +++ /dev/null @@ -1,25 +0,0 @@ -; RUN: llvm-as < %s | llc -march=x86-64 > %t -; RUN: grep negl %t | count 1 -; RUN: not grep {sub\[bwlq\]} %t -; RUN: grep mov %t | count 1 -; RUN: grep {leal -4(} %t | count 1 - -; ISel the add of -4 with a neg and use an lea for the rest of the -; arithemtic. - -define i32 @test(i32 %x_offs) nounwind readnone { -entry: - %t0 = icmp sgt i32 %x_offs, 4 ; <i1> [#uses=1] - br i1 %t0, label %bb.nph, label %bb2 - -bb.nph: ; preds = %entry - %tmp = add i32 %x_offs, -5 ; <i32> [#uses=1] - %tmp6 = lshr i32 %tmp, 2 ; <i32> [#uses=1] - %tmp7 = mul i32 %tmp6, -4 ; <i32> [#uses=1] - %tmp8 = add i32 %tmp7, %x_offs ; <i32> [#uses=1] - %tmp9 = add i32 %tmp8, -4 ; <i32> [#uses=1] - ret i32 %tmp9 - -bb2: ; preds = %entry - ret i32 %x_offs -} diff --git a/test/CodeGen/X86/pic-1.ll b/test/CodeGen/X86/pic-1.ll deleted file mode 100644 index 7bd59dc0f3ef..000000000000 --- a/test/CodeGen/X86/pic-1.ll +++ /dev/null @@ -1,19 +0,0 @@ -; RUN: llvm-as < %s | \ -; RUN: llc -mtriple=i686-pc-linux-gnu -relocation-model=pic -o %t -f -; RUN: grep _GLOBAL_OFFSET_TABLE_ %t -; RUN: grep piclabel %t | count 3 -; RUN: grep GOT %t | count 3 -; RUN: not grep GOTOFF %t - -@ptr = external global i32* -@dst = external global i32 -@src = external global i32 - -define void @foo() nounwind { -entry: - store i32* @dst, i32** @ptr - %tmp.s = load i32* @src - store i32 %tmp.s, i32* @dst - ret void -} - diff --git a/test/CodeGen/X86/pic-2.ll b/test/CodeGen/X86/pic-2.ll deleted file mode 100644 index 40899b35b8a9..000000000000 --- a/test/CodeGen/X86/pic-2.ll +++ /dev/null @@ -1,18 +0,0 @@ -; RUN: llvm-as < %s | llc -mtriple=i686-pc-linux-gnu -relocation-model=pic \ -; RUN: -o %t -f -; RUN: grep _GLOBAL_OFFSET_TABLE_ %t -; RUN: grep piclabel %t | count 3 -; RUN: grep GOTOFF %t | count 4 - -@ptr = internal global i32* null -@dst = internal global i32 0 -@src = internal global i32 0 - -define void @foo() { -entry: - store i32* @dst, i32** @ptr - %tmp.s = load i32* @src - store i32 %tmp.s, i32* @dst - ret void -} - diff --git a/test/CodeGen/X86/pic-3.ll b/test/CodeGen/X86/pic-3.ll deleted file mode 100644 index bbec68209ba1..000000000000 --- a/test/CodeGen/X86/pic-3.ll +++ /dev/null @@ -1,15 +0,0 @@ -; RUN: llvm-as < %s | llc -mtriple=i686-pc-linux-gnu -relocation-model=pic \ -; RUN: -o %t -f -; RUN: grep _GLOBAL_OFFSET_TABLE_ %t -; RUN: grep piclabel %t | count 3 -; RUN: grep PLT %t | count 1 - -define void @bar() { -entry: - call void(...)* @foo() - br label %return -return: - ret void -} - -declare void @foo(...) diff --git a/test/CodeGen/X86/pic-4.ll b/test/CodeGen/X86/pic-4.ll deleted file mode 100644 index 49b9000f1272..000000000000 --- a/test/CodeGen/X86/pic-4.ll +++ /dev/null @@ -1,22 +0,0 @@ -; RUN: llvm-as < %s | \ -; RUN: llc -mtriple=i686-pc-linux-gnu -relocation-model=pic -o %t -f -; RUN: grep _GLOBAL_OFFSET_TABLE_ %t -; RUN: grep piclabel %t | count 3 -; RUN: grep PLT %t | count 1 -; RUN: grep GOT %t | count 1 -; RUN: not grep GOTOFF %t - -@pfoo = external global void(...)* - -define void @bar() { -entry: - %tmp = call void(...)*(...)* @afoo() - store void(...)* %tmp, void(...)** @pfoo - %tmp1 = load void(...)** @pfoo - call void(...)* %tmp1() - br label %return -return: - ret void -} - -declare void(...)* @afoo(...) diff --git a/test/CodeGen/X86/pic-5.ll b/test/CodeGen/X86/pic-5.ll deleted file mode 100644 index 3f7e16934db9..000000000000 --- a/test/CodeGen/X86/pic-5.ll +++ /dev/null @@ -1,14 +0,0 @@ -; RUN: llvm-as < %s | llc -mtriple=i686-pc-linux-gnu -relocation-model=pic \ -; RUN: -o %t -f -; RUN: grep _GLOBAL_OFFSET_TABLE_ %t -; RUN: grep piclabel %t | count 3 -; RUN: grep PLT %t | count 1 - -@ptr = external global i32* - -define void @foo() { -entry: - %ptr = malloc i32, i32 10 - ret void -} - diff --git a/test/CodeGen/X86/pic-6.ll b/test/CodeGen/X86/pic-6.ll deleted file mode 100644 index d55da1f4c6af..000000000000 --- a/test/CodeGen/X86/pic-6.ll +++ /dev/null @@ -1,18 +0,0 @@ -; RUN: llvm-as < %s | llc -mtriple=i686-pc-linux-gnu -relocation-model=pic \ -; RUN: -o %t -f -; RUN: grep _GLOBAL_OFFSET_TABLE_ %t -; RUN: grep piclabel %t | count 3 -; RUN: grep GOT %t | count 3 - -@ptr = global i32* null -@dst = global i32 0 -@src = global i32 0 - -define void @foo() { -entry: - store i32* @dst, i32** @ptr - %tmp.s = load i32* @src - store i32 %tmp.s, i32* @dst - ret void -} - diff --git a/test/CodeGen/X86/pic-cpool.ll b/test/CodeGen/X86/pic-cpool.ll deleted file mode 100644 index a2b5d265879e..000000000000 --- a/test/CodeGen/X86/pic-cpool.ll +++ /dev/null @@ -1,14 +0,0 @@ -; RUN: llvm-as < %s | llc -mtriple=i686-pc-linux-gnu -relocation-model=pic \ -; RUN: -o %t -f -; RUN: grep _GLOBAL_OFFSET_TABLE_ %t -; RUN: grep piclabel %t | count 3 -; RUN: grep GOTOFF %t | count 1 -; RUN: grep CPI %t | count 2 - -define double @foo(i32 %a.u) nounwind { -entry: - %tmp = icmp eq i32 %a.u,0 - %retval = select i1 %tmp, double 4.561230e+02, double 1.234560e+02 - ret double %retval -} - diff --git a/test/CodeGen/X86/pic-jtbl.ll b/test/CodeGen/X86/pic-jtbl.ll deleted file mode 100644 index 6096592e1777..000000000000 --- a/test/CodeGen/X86/pic-jtbl.ll +++ /dev/null @@ -1,61 +0,0 @@ -; RUN: llvm-as < %s | llc -mtriple=i686-pc-linux-gnu -relocation-model=pic \ -; RUN: -o %t -f -; RUN: grep _GLOBAL_OFFSET_TABLE_ %t -; RUN: grep piclabel %t | count 3 -; RUN: grep PLT %t | count 6 -; RUN: grep GOTOFF %t | count 14 -; RUN: grep JTI %t | count 2 - -; X86-64: -; RUN: llvm-as < %s | llc -mtriple=x86_64-pc-linux-gnu -relocation-model=pic > %t -; RUN: grep {LJTI1_0(%rip)} %t -define void @bar(i32 %n.u) nounwind { -entry: - switch i32 %n.u, label %bb12 [i32 1, label %bb i32 2, label %bb6 i32 4, label %bb7 i32 5, label %bb8 i32 6, label %bb10 i32 7, label %bb1 i32 8, label %bb3 i32 9, label %bb4 i32 10, label %bb9 i32 11, label %bb2 i32 12, label %bb5 i32 13, label %bb11 ] -bb: - tail call void(...)* @foo1() - ret void -bb1: - tail call void(...)* @foo2() - ret void -bb2: - tail call void(...)* @foo6() - ret void -bb3: - tail call void(...)* @foo3() - ret void -bb4: - tail call void(...)* @foo4() - ret void -bb5: - tail call void(...)* @foo5() - ret void -bb6: - tail call void(...)* @foo1() - ret void -bb7: - tail call void(...)* @foo2() - ret void -bb8: - tail call void(...)* @foo6() - ret void -bb9: - tail call void(...)* @foo3() - ret void -bb10: - tail call void(...)* @foo4() - ret void -bb11: - tail call void(...)* @foo5() - ret void -bb12: - tail call void(...)* @foo6() - ret void -} - -declare void @foo1(...) -declare void @foo2(...) -declare void @foo6(...) -declare void @foo3(...) -declare void @foo4(...) -declare void @foo5(...) diff --git a/test/CodeGen/X86/select-no-cmov.ll b/test/CodeGen/X86/select-no-cmov.ll deleted file mode 100644 index 71636f93327c..000000000000 --- a/test/CodeGen/X86/select-no-cmov.ll +++ /dev/null @@ -1,26 +0,0 @@ -; RUN: llvm-as < %s | llc | not grep cmov - -target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128" -target triple = "i386-apple-darwin7" - -; Should compile to setcc | -2. -; rdar://6668608 -define i32 @test(i32* nocapture %P) nounwind readonly { -entry: - %0 = load i32* %P, align 4 ; <i32> [#uses=1] - %1 = icmp sgt i32 %0, 41 ; <i1> [#uses=1] - %iftmp.0.0 = select i1 %1, i32 -1, i32 -2 ; <i32> [#uses=1] - ret i32 %iftmp.0.0 -} - -; setl %al -; movzbl %al, %eax -; leal 4(%eax,%eax,8), %eax -define i32 @test2(i32* nocapture %P) nounwind readonly { -entry: - %0 = load i32* %P, align 4 ; <i32> [#uses=1] - %1 = icmp sgt i32 %0, 41 ; <i1> [#uses=1] - %iftmp.0.0 = select i1 %1, i32 4, i32 13 ; <i32> [#uses=1] - ret i32 %iftmp.0.0 -} - diff --git a/test/CodeGen/X86/sse41-extractps-bitcast-0.ll b/test/CodeGen/X86/sse41-extractps-bitcast-0.ll deleted file mode 100644 index bcfaa7a0e5a2..000000000000 --- a/test/CodeGen/X86/sse41-extractps-bitcast-0.ll +++ /dev/null @@ -1,12 +0,0 @@ -; RUN: llvm-as < %s | llc -march=x86 -mattr=sse41 | grep extractps | count 2 - -define i32 @foo(<4 x float> %v) { - %s = extractelement <4 x float> %v, i32 3 - %i = bitcast float %s to i32 - ret i32 %i -} -define i32 @boo(<4 x float> %v) { - %t = bitcast <4 x float> %v to <4 x i32> - %s = extractelement <4 x i32> %t, i32 3 - ret i32 %s -} diff --git a/test/CodeGen/X86/sse41-extractps-bitcast-1.ll b/test/CodeGen/X86/sse41-extractps-bitcast-1.ll deleted file mode 100644 index 470d14671596..000000000000 --- a/test/CodeGen/X86/sse41-extractps-bitcast-1.ll +++ /dev/null @@ -1,19 +0,0 @@ -; RUN: llvm-as < %s | llc -march=x86 -mattr=sse41 | not grep extractps - -; The non-store form of extractps puts its result into a GPR. -; This makes it suitable for an extract from a <4 x float> that -; is bitcasted to i32, but unsuitable for much of anything else. - -define float @bar(<4 x float> %v) { - %s = extractelement <4 x float> %v, i32 3 - %t = fadd float %s, 1.0 - ret float %t -} -define float @baz(<4 x float> %v) { - %s = extractelement <4 x float> %v, i32 3 - ret float %s -} -define i32 @qux(<4 x i32> %v) { - %i = extractelement <4 x i32> %v, i32 3 - ret i32 %i -} diff --git a/test/CodeGen/X86/sse41-pmovx.ll b/test/CodeGen/X86/sse41-pmovx.ll deleted file mode 100644 index c8cfec913cd8..000000000000 --- a/test/CodeGen/X86/sse41-pmovx.ll +++ /dev/null @@ -1,48 +0,0 @@ -; RUN: llvm-as < %s | llc -march=x86 -mattr=sse41 | not grep movd -; RUN: llvm-as < %s | llc -march=x86 -mattr=sse41 | not grep movq -; RUN: llvm-as < %s | llc -march=x86 -mattr=sse41 | grep pmovsxbd -; RUN: llvm-as < %s | llc -march=x86 -mattr=sse41 | grep pmovsxwd -; RUN: llvm-as < %s | llc -march=x86 -mattr=sse41 | grep pmovzxbq -; RUN: llvm-as < %s | llc -march=x86-64 -mattr=sse41 -mtriple=x86_64-apple-darwin | grep movq | count 1 -; RUN: llvm-as < %s | llc -march=x86-64 -mattr=sse41 -mtriple=x86_64-unknown-linux-gnu | not grep movq - -define <2 x i64> @t1(i32* %p) nounwind { -entry: - %0 = load i32* %p, align 4 ; <i32> [#uses=1] - %1 = insertelement <4 x i32> undef, i32 %0, i32 0 ; <<4 x i32>> [#uses=1] - %2 = insertelement <4 x i32> %1, i32 0, i32 1 ; <<4 x i32>> [#uses=1] - %3 = insertelement <4 x i32> %2, i32 0, i32 2 ; <<4 x i32>> [#uses=1] - %4 = insertelement <4 x i32> %3, i32 0, i32 3 ; <<4 x i32>> [#uses=1] - %5 = bitcast <4 x i32> %4 to <16 x i8> ; <<16 x i8>> [#uses=1] - %6 = tail call <4 x i32> @llvm.x86.sse41.pmovsxbd(<16 x i8> %5) nounwind readnone ; <<4 x i32>> [#uses=1] - %7 = bitcast <4 x i32> %6 to <2 x i64> ; <<2 x i64>> [#uses=1] - ret <2 x i64> %7 -} - -declare <4 x i32> @llvm.x86.sse41.pmovsxbd(<16 x i8>) nounwind readnone - -define <2 x i64> @t2(i64* %p) nounwind readonly { -entry: - %0 = load i64* %p ; <i64> [#uses=1] - %tmp2 = insertelement <2 x i64> zeroinitializer, i64 %0, i32 0 ; <<2 x i64>> [#uses=1] - %1 = bitcast <2 x i64> %tmp2 to <8 x i16> ; <<8 x i16>> [#uses=1] - %2 = tail call <4 x i32> @llvm.x86.sse41.pmovsxwd(<8 x i16> %1) nounwind readnone ; <<4 x i32>> [#uses=1] - %3 = bitcast <4 x i32> %2 to <2 x i64> ; <<2 x i64>> [#uses=1] - ret <2 x i64> %3 -} - -declare <4 x i32> @llvm.x86.sse41.pmovsxwd(<8 x i16>) nounwind readnone - - -@gv = external global i16 ; <i16*> [#uses=1] - -define <2 x i64> @t3() nounwind { -entry: - %0 = load i16* @gv, align 2 ; <i16> [#uses=1] - %1 = insertelement <8 x i16> undef, i16 %0, i32 0 ; <<8 x i16>> [#uses=1] - %2 = bitcast <8 x i16> %1 to <16 x i8> ; <<16 x i8>> [#uses=1] - %3 = tail call <2 x i64> @llvm.x86.sse41.pmovzxbq(<16 x i8> %2) nounwind readnone ; <<2 x i64>> [#uses=1] - ret <2 x i64> %3 -} - -declare <2 x i64> @llvm.x86.sse41.pmovzxbq(<16 x i8>) nounwind readnone diff --git a/test/CodeGen/X86/subclass-coalesce.ll b/test/CodeGen/X86/subclass-coalesce.ll deleted file mode 100644 index a010f1b29f1d..000000000000 --- a/test/CodeGen/X86/subclass-coalesce.ll +++ /dev/null @@ -1,17 +0,0 @@ -; RUN: llvm-as < %s | llc -march=x86 -join-cross-class-copies -stats |& grep {Number of cross class joins performed} - -@mem.6 = external global i64 ; <i64*> [#uses=1] - -define i64 @attachFunc() nounwind { -entry: - %tmp64.i = add i64 0, 72 ; <i64> [#uses=1] - %tmp68.i = load i64* @mem.6, align 8 ; <i64> [#uses=1] - %tmp70.i = icmp sgt i64 %tmp64.i, %tmp68.i ; <i1> [#uses=1] - br i1 %tmp70.i, label %bb73.i, label %bb116 - -bb73.i: ; preds = %entry - br label %bb116 - -bb116: ; preds = %bb73.i, %entry - ret i64 %tmp68.i -} diff --git a/test/CodeGen/X86/tls1-pic.ll b/test/CodeGen/X86/tls1-pic.ll deleted file mode 100644 index e43bf7ce66e6..000000000000 --- a/test/CodeGen/X86/tls1-pic.ll +++ /dev/null @@ -1,14 +0,0 @@ -; RUN: llvm-as < %s | llc -march=x86 -mtriple=i386-linux-gnu -relocation-model=pic > %t -; RUN: grep {leal i@TLSGD(,%ebx), %eax} %t -; RUN: grep {call ___tls_get_addr@PLT} %t -; RUN: llvm-as < %s | llc -march=x86-64 -mtriple=x86_64-linux-gnu -relocation-model=pic > %t2 -; RUN: grep {leaq i@TLSGD(%rip), %rdi} %t2 -; RUN: grep {call __tls_get_addr@PLT} %t2 - -@i = thread_local global i32 15 - -define i32 @f() { -entry: - %tmp1 = load i32* @i - ret i32 %tmp1 -} diff --git a/test/CodeGen/X86/tls2-pic.ll b/test/CodeGen/X86/tls2-pic.ll deleted file mode 100644 index 6ab3ee0a69fd..000000000000 --- a/test/CodeGen/X86/tls2-pic.ll +++ /dev/null @@ -1,13 +0,0 @@ -; RUN: llvm-as < %s | llc -march=x86 -mtriple=i386-linux-gnu -relocation-model=pic > %t -; RUN: grep {leal i@TLSGD(,%ebx), %eax} %t -; RUN: grep {call ___tls_get_addr@PLT} %t -; RUN: llvm-as < %s | llc -march=x86-64 -mtriple=x86_64-linux-gnu -relocation-model=pic > %t2 -; RUN: grep {leaq i@TLSGD(%rip), %rdi} %t2 -; RUN: grep {call __tls_get_addr@PLT} %t2 - -@i = thread_local global i32 15 - -define i32* @f() nounwind { -entry: - ret i32* @i -} diff --git a/test/CodeGen/X86/tls3-pic.ll b/test/CodeGen/X86/tls3-pic.ll deleted file mode 100644 index 8e6df29afbf9..000000000000 --- a/test/CodeGen/X86/tls3-pic.ll +++ /dev/null @@ -1,14 +0,0 @@ -; RUN: llvm-as < %s | llc -march=x86 -mtriple=i386-linux-gnu -relocation-model=pic > %t -; RUN: grep {leal i@TLSGD(,%ebx), %eax} %t -; RUN: grep {call ___tls_get_addr@PLT} %t -; RUN: llvm-as < %s | llc -march=x86-64 -mtriple=x86_64-linux-gnu -relocation-model=pic > %t2 -; RUN: grep {leaq i@TLSGD(%rip), %rdi} %t2 -; RUN: grep {call __tls_get_addr@PLT} %t2 - -@i = external thread_local global i32 ; <i32*> [#uses=2] - -define i32 @f() { -entry: - %tmp1 = load i32* @i ; <i32> [#uses=1] - ret i32 %tmp1 -} diff --git a/test/CodeGen/X86/tls4-pic.ll b/test/CodeGen/X86/tls4-pic.ll deleted file mode 100644 index 94de78f7aef7..000000000000 --- a/test/CodeGen/X86/tls4-pic.ll +++ /dev/null @@ -1,13 +0,0 @@ -; RUN: llvm-as < %s | llc -march=x86 -mtriple=i386-linux-gnu -relocation-model=pic > %t -; RUN: grep {leal i@TLSGD(,%ebx), %eax} %t -; RUN: grep {call ___tls_get_addr@PLT} %t -; RUN: llvm-as < %s | llc -march=x86-64 -mtriple=x86_64-linux-gnu -relocation-model=pic > %t2 -; RUN: grep {leaq i@TLSGD(%rip), %rdi} %t2 -; RUN: grep {call __tls_get_addr@PLT} %t2 - -@i = external thread_local global i32 ; <i32*> [#uses=2] - -define i32* @f() { -entry: - ret i32* @i -} diff --git a/test/CodeGen/X86/vec_loadhl.ll b/test/CodeGen/X86/vec_loadhl.ll deleted file mode 100644 index 88e303d4a007..000000000000 --- a/test/CodeGen/X86/vec_loadhl.ll +++ /dev/null @@ -1,19 +0,0 @@ -; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep movlpd -; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep movhpd -; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | not grep movsd - -define void @t1(<2 x double>* %r, <2 x double>* %A, double %B) nounwind { - %tmp3 = load <2 x double>* %A, align 16 - %tmp7 = insertelement <2 x double> undef, double %B, i32 0 - %tmp9 = shufflevector <2 x double> %tmp3, <2 x double> %tmp7, <2 x i32> < i32 2, i32 1 > - store <2 x double> %tmp9, <2 x double>* %r, align 16 - ret void -} - -define void @t2(<2 x double>* %r, <2 x double>* %A, double %B) nounwind { - %tmp3 = load <2 x double>* %A, align 16 - %tmp7 = insertelement <2 x double> undef, double %B, i32 0 - %tmp9 = shufflevector <2 x double> %tmp3, <2 x double> %tmp7, <2 x i32> < i32 0, i32 2 > - store <2 x double> %tmp9, <2 x double>* %r, align 16 - ret void -} diff --git a/test/CodeGen/X86/vec_shuffle-12.ll b/test/CodeGen/X86/vec_shuffle-12.ll deleted file mode 100644 index 98b455a2351f..000000000000 --- a/test/CodeGen/X86/vec_shuffle-12.ll +++ /dev/null @@ -1,28 +0,0 @@ -; RUN: llvm-as < %s | llc -march=x86 -mcpu=yonah > %t -; RUN: not grep punpck %t -; RUN: grep pextrw %t | count 4 -; RUN: grep pinsrw %t | count 6 -; RUN: grep pshuflw %t | count 1 -; RUN: grep pshufhw %t | count 2 - -define <8 x i16> @t1(<8 x i16>* %A, <8 x i16>* %B) nounwind { - %tmp1 = load <8 x i16>* %A - %tmp2 = load <8 x i16>* %B - %tmp3 = shufflevector <8 x i16> %tmp1, <8 x i16> %tmp2, <8 x i32> < i32 8, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7 > - ret <8 x i16> %tmp3 -} - -define <8 x i16> @t2(<8 x i16> %A, <8 x i16> %B) nounwind { - %tmp = shufflevector <8 x i16> %A, <8 x i16> %B, <8 x i32> < i32 9, i32 1, i32 2, i32 9, i32 4, i32 5, i32 6, i32 7 > - ret <8 x i16> %tmp -} - -define <8 x i16> @t3(<8 x i16> %A, <8 x i16> %B) nounwind { - %tmp = shufflevector <8 x i16> %A, <8 x i16> %A, <8 x i32> < i32 8, i32 3, i32 2, i32 13, i32 7, i32 6, i32 5, i32 4 > - ret <8 x i16> %tmp -} - -define <8 x i16> @t4(<8 x i16> %A, <8 x i16> %B) nounwind { - %tmp = shufflevector <8 x i16> %A, <8 x i16> %B, <8 x i32> < i32 0, i32 7, i32 2, i32 3, i32 1, i32 5, i32 6, i32 5 > - ret <8 x i16> %tmp -} diff --git a/test/CodeGen/X86/vec_shuffle-13.ll b/test/CodeGen/X86/vec_shuffle-13.ll deleted file mode 100644 index 61cd1286e755..000000000000 --- a/test/CodeGen/X86/vec_shuffle-13.ll +++ /dev/null @@ -1,21 +0,0 @@ -; RUN: llvm-as < %s | llc -march=x86 -mcpu=yonah > %t -; RUN: grep movlhps %t | count 1 -; RUN: grep pshufd %t | count 1 -; RUN: grep movss %t | count 1 -; RUN: grep pshuflw %t | count 1 -; RUN: grep pshufhw %t | count 1 - -define <8 x i16> @t1(<8 x i16> %A, <8 x i16> %B) nounwind { - %tmp = shufflevector <8 x i16> %A, <8 x i16> %B, <8 x i32> < i32 8, i32 9, i32 0, i32 1, i32 10, i32 11, i32 2, i32 3 > - ret <8 x i16> %tmp -} - -define <8 x i16> @t2(<8 x i16> %A, <8 x i16> %B) nounwind { - %tmp = shufflevector <8 x i16> %A, <8 x i16> %B, <8 x i32> < i32 8, i32 9, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7 > - ret <8 x i16> %tmp -} - -define <8 x i16> @t3(<8 x i16> %A, <8 x i16> %B) nounwind { - %tmp = shufflevector <8 x i16> %A, <8 x i16> %B, <8 x i32> < i32 0, i32 0, i32 3, i32 2, i32 4, i32 6, i32 4, i32 7 > - ret <8 x i16> %tmp -} diff --git a/test/CodeGen/X86/vec_shuffle-2.ll b/test/CodeGen/X86/vec_shuffle-2.ll deleted file mode 100644 index b04956531020..000000000000 --- a/test/CodeGen/X86/vec_shuffle-2.ll +++ /dev/null @@ -1,47 +0,0 @@ -; RUN: llvm-as < %s | llc -march=x86 -mcpu=yonah -o %t -f -; RUN: grep pshufhw %t | count 1 -; RUN: grep pshuflw %t | count 1 -; RUN: grep movhps %t | count 1 - -define void @test1(<2 x i64>* %res, <2 x i64>* %A) nounwind { - %tmp = load <2 x i64>* %A ; <<2 x i64>> [#uses=1] - %tmp.upgrd.1 = bitcast <2 x i64> %tmp to <8 x i16> ; <<8 x i16>> [#uses=8] - %tmp0 = extractelement <8 x i16> %tmp.upgrd.1, i32 0 ; <i16> [#uses=1] - %tmp1 = extractelement <8 x i16> %tmp.upgrd.1, i32 1 ; <i16> [#uses=1] - %tmp2 = extractelement <8 x i16> %tmp.upgrd.1, i32 2 ; <i16> [#uses=1] - %tmp3 = extractelement <8 x i16> %tmp.upgrd.1, i32 3 ; <i16> [#uses=1] - %tmp4 = extractelement <8 x i16> %tmp.upgrd.1, i32 4 ; <i16> [#uses=1] - %tmp5 = extractelement <8 x i16> %tmp.upgrd.1, i32 5 ; <i16> [#uses=1] - %tmp6 = extractelement <8 x i16> %tmp.upgrd.1, i32 6 ; <i16> [#uses=1] - %tmp7 = extractelement <8 x i16> %tmp.upgrd.1, i32 7 ; <i16> [#uses=1] - %tmp8 = insertelement <8 x i16> undef, i16 %tmp2, i32 0 ; <<8 x i16>> [#uses=1] - %tmp9 = insertelement <8 x i16> %tmp8, i16 %tmp1, i32 1 ; <<8 x i16>> [#uses=1] - %tmp10 = insertelement <8 x i16> %tmp9, i16 %tmp0, i32 2 ; <<8 x i16>> [#uses=1] - %tmp11 = insertelement <8 x i16> %tmp10, i16 %tmp3, i32 3 ; <<8 x i16>> [#uses=1] - %tmp12 = insertelement <8 x i16> %tmp11, i16 %tmp6, i32 4 ; <<8 x i16>> [#uses=1] - %tmp13 = insertelement <8 x i16> %tmp12, i16 %tmp5, i32 5 ; <<8 x i16>> [#uses=1] - %tmp14 = insertelement <8 x i16> %tmp13, i16 %tmp4, i32 6 ; <<8 x i16>> [#uses=1] - %tmp15 = insertelement <8 x i16> %tmp14, i16 %tmp7, i32 7 ; <<8 x i16>> [#uses=1] - %tmp15.upgrd.2 = bitcast <8 x i16> %tmp15 to <2 x i64> ; <<2 x i64>> [#uses=1] - store <2 x i64> %tmp15.upgrd.2, <2 x i64>* %res - ret void -} - -define void @test2(<4 x float>* %r, <2 x i32>* %A) nounwind { - %tmp = load <4 x float>* %r ; <<4 x float>> [#uses=2] - %tmp.upgrd.3 = bitcast <2 x i32>* %A to double* ; <double*> [#uses=1] - %tmp.upgrd.4 = load double* %tmp.upgrd.3 ; <double> [#uses=1] - %tmp.upgrd.5 = insertelement <2 x double> undef, double %tmp.upgrd.4, i32 0 ; <<2 x double>> [#uses=1] - %tmp5 = insertelement <2 x double> %tmp.upgrd.5, double undef, i32 1 ; <<2 x double>> [#uses=1] - %tmp6 = bitcast <2 x double> %tmp5 to <4 x float> ; <<4 x float>> [#uses=2] - %tmp.upgrd.6 = extractelement <4 x float> %tmp, i32 0 ; <float> [#uses=1] - %tmp7 = extractelement <4 x float> %tmp, i32 1 ; <float> [#uses=1] - %tmp8 = extractelement <4 x float> %tmp6, i32 0 ; <float> [#uses=1] - %tmp9 = extractelement <4 x float> %tmp6, i32 1 ; <float> [#uses=1] - %tmp10 = insertelement <4 x float> undef, float %tmp.upgrd.6, i32 0 ; <<4 x float>> [#uses=1] - %tmp11 = insertelement <4 x float> %tmp10, float %tmp7, i32 1 ; <<4 x float>> [#uses=1] - %tmp12 = insertelement <4 x float> %tmp11, float %tmp8, i32 2 ; <<4 x float>> [#uses=1] - %tmp13 = insertelement <4 x float> %tmp12, float %tmp9, i32 3 ; <<4 x float>> [#uses=1] - store <4 x float> %tmp13, <4 x float>* %r - ret void -} diff --git a/test/CodeGen/X86/vec_shuffle-21.ll b/test/CodeGen/X86/vec_shuffle-21.ll deleted file mode 100644 index eec269159f7c..000000000000 --- a/test/CodeGen/X86/vec_shuffle-21.ll +++ /dev/null @@ -1,21 +0,0 @@ -; RUN: llvm-as < %s | llc -march=x86 -mcpu=yonah -o %t -f -; RUN: grep pshuflw %t | count 1 -; RUN: grep pextrw %t | count 2 -; RUN: grep pinsrw %t | count 2 -; PR2585 - -; FIXME: This testcase produces icky code. It can be made much better! - -external constant <4 x i32> ; <<4 x i32>*>:0 [#uses=1] -external constant <4 x i16> ; <<4 x i16>*>:1 [#uses=1] - -define internal void @""() { - load <4 x i32>* @0, align 16 ; <<4 x i32>>:1 [#uses=1] - bitcast <4 x i32> %1 to <8 x i16> ; <<8 x i16>>:2[#uses=1] - shufflevector <8 x i16> %2, <8 x i16> undef, <8 x i32> < i32 0, i32 2, i32 4, i32 6, i32 undef, i32 undef, i32 undef, i32 undef > ; <<8x i16>>:3 [#uses=1] - bitcast <8 x i16> %3 to <2 x i64> ; <<2 x i64>>:4 [#uses=1] - extractelement <2 x i64> %4, i32 0 ; <i64>:5 [#uses=1] - bitcast i64 %5 to <4 x i16> ; <<4 x i16>>:6 [#uses=1] - store <4 x i16> %6, <4 x i16>* @1, align 8 - ret void -} diff --git a/test/CodeGen/X86/vec_shuffle-29.ll b/test/CodeGen/X86/vec_shuffle-29.ll deleted file mode 100644 index 49cb0a72e884..000000000000 --- a/test/CodeGen/X86/vec_shuffle-29.ll +++ /dev/null @@ -1,14 +0,0 @@ -; RUN: llvm-as < %s | llc -march=x86 -mattr=sse41,-ssse3 -disable-mmx -o %t -f -; RUN: not grep pextrw %t -; RUN: grep pinsrw %t - -; Test for v8xi16 lowering where we extract the first element of the vector and -; placed it in the second element of the result. - -define void @test_cl(<8 x i16> addrspace(1)* %dest, <8 x i16> addrspace(1)* %old) nounwind { -entry: - %tmp3 = load <8 x i16> addrspace(1)* %old ; <<8 x i16>> [#uses=1] - %tmp6 = shufflevector <8 x i16> %tmp3, <8 x i16> < i16 0, i16 undef, i16 undef, i16 undef, i16 undef, i16 undef, i16 undef, i16 undef >, <8 x i32> < i32 8, i32 0, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef > ; <<8 x i16>> [#uses=1] - store <8 x i16> %tmp6, <8 x i16> addrspace(1)* %dest - ret void -}
\ No newline at end of file diff --git a/test/CodeGen/X86/vec_shuffle-32.ll b/test/CodeGen/X86/vec_shuffle-32.ll deleted file mode 100644 index 3a8194832623..000000000000 --- a/test/CodeGen/X86/vec_shuffle-32.ll +++ /dev/null @@ -1,13 +0,0 @@ -; RUN: llvm-as < %s | llc -march=x86 -mcpu=yonah -o %t -f -; RUN: grep punpcklqdq %t | count 1 -; RUN: grep pextrw %t | count 1 -; RUN: grep pshufd %t | count 1 -; RUN: grep pinsrw %t | count 1 -; RUN: llvm-as < %s | llc -march=x86 -mcpu=core2 -o %t -f -; RUN: grep pshufb %t | count 1 - -define <8 x i16> @shuf4(<8 x i16> %T0, <8 x i16> %T1) nounwind readnone { -entry: - %tmp9 = shufflevector <8 x i16> %T0, <8 x i16> %T1, <8 x i32> < i32 8, i32 9, i32 undef, i32 undef, i32 11, i32 3, i32 undef , i32 undef > - ret <8 x i16> %tmp9 -} diff --git a/test/CodeGen/X86/vec_shuffle-33.ll b/test/CodeGen/X86/vec_shuffle-33.ll deleted file mode 100644 index e3d630474bf5..000000000000 --- a/test/CodeGen/X86/vec_shuffle-33.ll +++ /dev/null @@ -1,11 +0,0 @@ -; RUN: llvm-as < %s | llc -march=x86 -mcpu=yonah -o %t -f -; RUN: grep punpcklqdq %t | count 1 -; RUN: grep pshufhw %t | count 1 -; RUN: not grep pextrw %t -; RUN: not grep pinsrw %t - -define <8 x i16> @shuf5(<8 x i16> %T0, <8 x i16> %T1) nounwind readnone { -entry: - %tmp9 = shufflevector <8 x i16> %T0, <8 x i16> %T1, <8 x i32> < i32 8, i32 9, i32 undef, i32 undef, i32 undef, i32 2, i32 undef , i32 undef > - ret <8 x i16> %tmp9 -} diff --git a/test/CodeGen/X86/vec_shuffle-37.ll b/test/CodeGen/X86/vec_shuffle-37.ll deleted file mode 100644 index d5f21f5f1459..000000000000 --- a/test/CodeGen/X86/vec_shuffle-37.ll +++ /dev/null @@ -1,14 +0,0 @@ -; RUN: llvm-as < %s | llc -march=x86 -mcpu=yonah -stack-alignment=16 -o %t -f -; RUN: grep pextrw %t | count 2 -; RUN: grep pinsrw %t | count 4 -; RUN: grep orw %t | count 1 -; RUN: grep andw %t | count 1 - -; Test yonah where we convert a shuffle to pextrw and pinrsw -define <16 x i8> @shuf1(<16 x i8> %T0) nounwind readnone { -entry: - %tmp8 = shufflevector <16 x i8> <i8 0, i8 0, i8 0, i8 0, i8 1, i8 1, i8 1, i8 1, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %T0, <16 x i32> < i32 0, i32 1, i32 16, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef , i32 undef > - %tmp9 = shufflevector <16 x i8> %tmp8, <16 x i8> %T0, <16 x i32> < i32 0, i32 1, i32 2, i32 17, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef , i32 undef > - ret <16 x i8> %tmp9 -} - diff --git a/test/CodeGen/X86/xor-undef.ll b/test/CodeGen/X86/xor-undef.ll deleted file mode 100644 index 0e60d4ef087e..000000000000 --- a/test/CodeGen/X86/xor-undef.ll +++ /dev/null @@ -1,11 +0,0 @@ -; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep xor | count 2 - -define <4 x i32> @t1() { - %tmp = xor <4 x i32> undef, undef - ret <4 x i32> %tmp -} - -define i32 @t2() { - %tmp = xor i32 undef, undef - ret i32 %tmp -} diff --git a/test/CodeGen/X86/xor_not.ll b/test/CodeGen/X86/xor_not.ll deleted file mode 100644 index 0b1abdf4152a..000000000000 --- a/test/CodeGen/X86/xor_not.ll +++ /dev/null @@ -1,74 +0,0 @@ -; RUN: llvm-as < %s | llc -march=x86 | grep {not\[lwb\]} | count 4 -; RUN: llvm-as < %s | llc -march=x86-64 | grep {not\[lwb\]} | count 4 -define i32 @test(i32 %a, i32 %b) nounwind { -entry: - %tmp1not = xor i32 %b, -2 - %tmp3 = and i32 %tmp1not, %a - %tmp4 = lshr i32 %tmp3, 1 - ret i32 %tmp4 -} - -define i32 @sum32(i32 %a, i32 %b) nounwind { -entry: - br label %bb -bb: - %b_addr.0 = phi i32 [ %b, %entry ], [ %tmp8, %bb ] - %a_addr.0 = phi i32 [ %a, %entry ], [ %tmp3, %bb ] - %tmp3 = xor i32 %a_addr.0, %b_addr.0 - %tmp4not = xor i32 %tmp3, 2147483647 - %tmp6 = and i32 %tmp4not, %b_addr.0 - %tmp8 = shl i32 %tmp6, 1 - %tmp10 = icmp eq i32 %tmp8, 0 - br i1 %tmp10, label %bb12, label %bb -bb12: - ret i32 %tmp3 -} - -define i16 @sum16(i16 %a, i16 %b) nounwind { -entry: - br label %bb -bb: - %b_addr.0 = phi i16 [ %b, %entry ], [ %tmp8, %bb ] - %a_addr.0 = phi i16 [ %a, %entry ], [ %tmp3, %bb ] - %tmp3 = xor i16 %a_addr.0, %b_addr.0 - %tmp4not = xor i16 %tmp3, 32767 - %tmp6 = and i16 %tmp4not, %b_addr.0 - %tmp8 = shl i16 %tmp6, 1 - %tmp10 = icmp eq i16 %tmp8, 0 - br i1 %tmp10, label %bb12, label %bb -bb12: - ret i16 %tmp3 -} - -define i8 @sum8(i8 %a, i8 %b) nounwind { -entry: - br label %bb -bb: - %b_addr.0 = phi i8 [ %b, %entry ], [ %tmp8, %bb ] - %a_addr.0 = phi i8 [ %a, %entry ], [ %tmp3, %bb ] - %tmp3 = xor i8 %a_addr.0, %b_addr.0 - %tmp4not = xor i8 %tmp3, 127 - %tmp6 = and i8 %tmp4not, %b_addr.0 - %tmp8 = shl i8 %tmp6, 1 - %tmp10 = icmp eq i8 %tmp8, 0 - br i1 %tmp10, label %bb12, label %bb -bb12: - ret i8 %tmp3 -} - -define i32 @test2(i32 %a, i32 %b) nounwind { -entry: - br label %bb -bb: - %b_addr.0 = phi i32 [ %b, %entry ], [ %tmp8, %bb ] - %a_addr.0 = phi i32 [ %a, %entry ], [ %tmp3, %bb ] - %tmp3 = xor i32 %a_addr.0, %b_addr.0 - %tmp4not = xor i32 %tmp3, 2147483646 - %tmp6 = and i32 %tmp4not, %b_addr.0 - %tmp8 = shl i32 %tmp6, 1 - %tmp10 = icmp eq i32 %tmp8, 0 - br i1 %tmp10, label %bb12, label %bb -bb12: - ret i32 %tmp3 -} - diff --git a/test/CodeGen/X86/xorl.ll b/test/CodeGen/X86/xorl.ll deleted file mode 100644 index def2f06d3997..000000000000 --- a/test/CodeGen/X86/xorl.ll +++ /dev/null @@ -1,85 +0,0 @@ -; RUN: llvm-as < %s | llc -march=x86 | grep xorl | count 1 - -target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128" -target triple = "i386-apple-darwin9" - %struct.block_symbol = type { [3 x %struct.cgraph_rtl_info], %struct.object_block*, i64 } - %struct.rtx_def = type <{ i16, i8, i8, %struct.u }> - %struct.u = type { %struct.block_symbol } - %struct.cgraph_rtl_info = type { i32 } - %struct.object_block = type { %struct.section*, i32, i64, %struct.VEC_rtx_gc*, %struct.VEC_rtx_gc* } - %struct.section = type { %struct.unnamed_section } - %struct.VEC_rtx_base = type { i32, i32, [1 x %struct.rtx_def*] } - %struct.VEC_rtx_gc = type { %struct.VEC_rtx_base } - %struct.tree_common = type <{ %struct.tree_node*, %struct.tree_node*, %union.tree_ann_d*, i8, i8, i8, i8, i8, [3 x i8] }> - %struct.tree_complex = type { %struct.tree_common, %struct.tree_node*, %struct.tree_node* } - %struct.tree_node = type { %struct.tree_complex, [116 x i8] } - %struct.unnamed_section = type { %struct.cgraph_rtl_info, void (i8*)*, i8*, %struct.section* } - %union.tree_ann_d = type opaque - -define %struct.rtx_def* @expand_call() nounwind { -entry: - br i1 false, label %bb216, label %bb171 -bb171: ; preds = %entry - ret %struct.rtx_def* null -bb216: ; preds = %entry - br i1 false, label %bb336, label %bb222 -bb222: ; preds = %bb216 - ret %struct.rtx_def* null -bb336: ; preds = %bb216 - br i1 false, label %bb429, label %bb417 -bb417: ; preds = %bb336 - ret %struct.rtx_def* null -bb429: ; preds = %bb336 - br i1 false, label %bb713, label %bb493 -bb493: ; preds = %bb429 - ret %struct.rtx_def* null -bb713: ; preds = %bb429 - br i1 false, label %bb810, label %bb797 -bb797: ; preds = %bb713 - ret %struct.rtx_def* null -bb810: ; preds = %bb713 - br i1 false, label %bb822, label %bb815 -bb815: ; preds = %bb810 - ret %struct.rtx_def* null -bb822: ; preds = %bb810 - br label %bb1652.preheader -bb919: ; preds = %bb1652.preheader - ret %struct.rtx_def* null -bb1657: ; preds = %bb1652.preheader - br i1 false, label %bb1666, label %bb1652.preheader -bb1652.preheader: ; preds = %bb1657, %bb822 - br i1 false, label %bb1657, label %bb919 -bb1666: ; preds = %bb1657 - br i1 false, label %bb1815.preheader, label %bb1870 -bb1815.preheader: ; preds = %bb1666 - br i1 false, label %bb1693, label %bb1828 -bb1693: ; preds = %bb1815.preheader - br i1 false, label %bb1718, label %bb1703 -bb1703: ; preds = %bb1693 - ret %struct.rtx_def* null -bb1718: ; preds = %bb1693 - br i1 false, label %bb1741, label %bb1828 -bb1741: ; preds = %bb1718 - switch i8 0, label %bb1775 [ - i8 54, label %bb1798 - i8 58, label %bb1798 - i8 55, label %bb1798 - ] -bb1775: ; preds = %bb1741 - ret %struct.rtx_def* null -bb1798: ; preds = %bb1741, %bb1741, %bb1741 - %tmp1811 = add i32 0, 0 ; <i32> [#uses=1] - br label %bb1828 -bb1828: ; preds = %bb1798, %bb1718, %bb1815.preheader - %copy_to_evaluate_size.1.lcssa = phi i32 [ 0, %bb1815.preheader ], [ %tmp1811, %bb1798 ], [ 0, %bb1718 ] ; <i32> [#uses=1] - %tmp1830 = shl i32 %copy_to_evaluate_size.1.lcssa, 1 ; <i32> [#uses=1] - %tmp18301831 = sext i32 %tmp1830 to i64 ; <i64> [#uses=1] - %tmp1835 = icmp slt i64 %tmp18301831, 0 ; <i1> [#uses=1] - %tmp1835.not = xor i1 %tmp1835, true ; <i1> [#uses=1] - %bothcond6193 = and i1 %tmp1835.not, false ; <i1> [#uses=1] - br i1 %bothcond6193, label %bb1845, label %bb1870 -bb1845: ; preds = %bb1828 - ret %struct.rtx_def* null -bb1870: ; preds = %bb1828, %bb1666 - ret %struct.rtx_def* null -} |
