summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorNAKAMURA Takumi <geek4civic@gmail.com>2014-03-09 11:01:07 +0000
committerNAKAMURA Takumi <geek4civic@gmail.com>2014-03-09 11:01:07 +0000
commite086782817441908f03e9f4c6fb2008ec414a23e (patch)
treeaebb8b4960261224eef3be18af29b47cb5cdd235 /test
parentfeb0113a1eca4021e59e62be15b3ec36fe31030b (diff)
downloadllvm-e086782817441908f03e9f4c6fb2008ec414a23e.tar.gz
llvm-e086782817441908f03e9f4c6fb2008ec414a23e.tar.bz2
llvm-e086782817441908f03e9f4c6fb2008ec414a23e.tar.xz
Revert r203230, "CodeGenPrep: sink extends of illegal types into use block."
It choked i686 stage2. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203386 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/CodeGen/X86/mul128_sext_loop.ll32
-rw-r--r--test/Transforms/CodeGenPrepare/X86/extend-sink-hoist.ll46
2 files changed, 0 insertions, 78 deletions
diff --git a/test/CodeGen/X86/mul128_sext_loop.ll b/test/CodeGen/X86/mul128_sext_loop.ll
deleted file mode 100644
index a516f03cbc..0000000000
--- a/test/CodeGen/X86/mul128_sext_loop.ll
+++ /dev/null
@@ -1,32 +0,0 @@
-; RUN: llc < %s -march=x86-64 | FileCheck %s
-
-define void @test(i64* nocapture %arr, i64 %arrsize, i64 %factor) nounwind uwtable {
- %1 = icmp sgt i64 %arrsize, 0
- br i1 %1, label %.lr.ph, label %._crit_edge
-
-.lr.ph: ; preds = %0
- %2 = sext i64 %factor to i128
- br label %3
-
-; <label>:3 ; preds = %3, %.lr.ph
-; CHECK-NOT: mul
-; CHECK: imulq
-; CHECK-NOT: mul
- %carry.02 = phi i128 [ 0, %.lr.ph ], [ %10, %3 ]
- %i.01 = phi i64 [ 0, %.lr.ph ], [ %11, %3 ]
- %4 = getelementptr inbounds i64* %arr, i64 %i.01
- %5 = load i64* %4, align 8
- %6 = sext i64 %5 to i128
- %7 = mul nsw i128 %6, %2
- %8 = add nsw i128 %7, %carry.02
- %.tr = trunc i128 %8 to i64
- %9 = and i64 %.tr, 9223372036854775807
- store i64 %9, i64* %4, align 8
- %10 = ashr i128 %8, 63
- %11 = add nsw i64 %i.01, 1
- %exitcond = icmp eq i64 %11, %arrsize
- br i1 %exitcond, label %._crit_edge, label %3
-
-._crit_edge: ; preds = %3, %0
- ret void
-}
diff --git a/test/Transforms/CodeGenPrepare/X86/extend-sink-hoist.ll b/test/Transforms/CodeGenPrepare/X86/extend-sink-hoist.ll
deleted file mode 100644
index a58e62c067..0000000000
--- a/test/Transforms/CodeGenPrepare/X86/extend-sink-hoist.ll
+++ /dev/null
@@ -1,46 +0,0 @@
-; RUN: opt -codegenprepare -disable-cgp-branch-opts -S < %s | FileCheck %s
-target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
-target triple = "x86_64-unknown-linux-gnu"
-
-; The first cast should be sunk into block2, in order that the
-; instruction selector can form an efficient
-; i64 * i64 -> i128 multiplication.
-define i128 @sink(i64* %mem1, i64* %mem2) {
-; CHECK-LABEL: block1:
-; CHECK-NEXT: load
-block1:
- %l1 = load i64* %mem1
- %s1 = sext i64 %l1 to i128
- br label %block2
-
-; CHECK-LABEL: block2:
-; CHECK-NEXT: sext
-; CHECK-NEXT: load
-; CHECK-NEXT: sext
-block2:
- %l2 = load i64* %mem2
- %s2 = sext i64 %l2 to i128
- %res = mul i128 %s1, %s2
- ret i128 %res
-}
-
-; The first cast should be hoisted into block1, in order that the
-; instruction selector can form an extend-load.
-define i64 @hoist(i32* %mem1, i32* %mem2) {
-; CHECK-LABEL: block1:
-; CHECK-NEXT: load
-; CHECK-NEXT: sext
-block1:
- %l1 = load i32* %mem1
- br label %block2
-
-; CHECK-LABEL: block2:
-; CHECK-NEXT: load
-; CHECK-NEXT: sext
-block2:
- %s1 = sext i32 %l1 to i64
- %l2 = load i32* %mem2
- %s2 = sext i32 %l2 to i64
- %res = mul i64 %s1, %s2
- ret i64 %res
-}