aboutsummaryrefslogtreecommitdiffstats
path: root/test/CodeGen/CellSPU
diff options
context:
space:
mode:
authorKalle Raiskila <kalle.raiskila@nokia.com>2010-05-11 11:00:02 +0000
committerKalle Raiskila <kalle.raiskila@nokia.com>2010-05-11 11:00:02 +0000
commit2320a44b903fa0fc3f05cf91f89dc0254923a736 (patch)
tree8fd3124ee32a5b295eee00f8f7435cde300a1d64 /test/CodeGen/CellSPU
parentfb3611daad2bdf9fd50fe5ef1167fe6a8c950031 (diff)
downloadexternal_llvm-2320a44b903fa0fc3f05cf91f89dc0254923a736.zip
external_llvm-2320a44b903fa0fc3f05cf91f89dc0254923a736.tar.gz
external_llvm-2320a44b903fa0fc3f05cf91f89dc0254923a736.tar.bz2
Make SPU backend not assert on jump tables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103466 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/CellSPU')
-rw-r--r--test/CodeGen/CellSPU/jumptable.ll21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/CodeGen/CellSPU/jumptable.ll b/test/CodeGen/CellSPU/jumptable.ll
new file mode 100644
index 0000000..d7d1ef4
--- /dev/null
+++ b/test/CodeGen/CellSPU/jumptable.ll
@@ -0,0 +1,21 @@
+;RUN: llc --march=cellspu %s -o - | FileCheck %s
+; This is to check that emitting jumptables doesn't crash llc
+define i32 @test(i32 %param) {
+entry:
+;CHECK: ai $4, $3, -1
+;CHECK: clgti $5, $4, 3
+;CHECK: brnz $5,.LBB0_2
+ switch i32 %param, label %bb1 [
+ i32 1, label %bb3
+ i32 2, label %bb2
+ i32 3, label %bb3
+ i32 4, label %bb1
+ ]
+
+bb1:
+ ret i32 1
+bb2:
+ ret i32 2
+bb3:
+ ret i32 3
+}