From: Sasa Stankovic Date: Fri, 7 Mar 2014 22:08:46 +0000 (+0000) Subject: Moved test file from test/MC/Mips to test/CodeGen/Mips. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=fa14948a116b8f7b82f36224f7a42c953e376b3e;p=oota-llvm.git Moved test file from test/MC/Mips to test/CodeGen/Mips. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203298 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/CodeGen/Mips/nacl-align.ll b/test/CodeGen/Mips/nacl-align.ll new file mode 100644 index 00000000000..e61b8347760 --- /dev/null +++ b/test/CodeGen/Mips/nacl-align.ll @@ -0,0 +1,96 @@ +; RUN: llc -filetype=asm -mtriple=mipsel-none-nacl -relocation-model=static \ +; RUN: -O3 < %s | FileCheck %s + + +; This test tests that NaCl functions are bundle-aligned. + +define void @test0() { + ret void + +; CHECK: .align 4 +; CHECK-NOT: .align +; CHECK-LABEL: test0: + +} + + +; This test tests that blocks that are jumped to through jump table are +; bundle-aligned. + +define i32 @test1(i32 %i) { +entry: + switch i32 %i, label %default [ + i32 0, label %bb1 + i32 1, label %bb2 + i32 2, label %bb3 + i32 3, label %bb4 + ] + +bb1: + ret i32 111 +bb2: + ret i32 222 +bb3: + ret i32 333 +bb4: + ret i32 444 +default: + ret i32 555 + + +; CHECK-LABEL: test1: + +; CHECK: .align 4 +; CHECK-NEXT: ${{BB[0-9]+_[0-9]+}}: +; CHECK-NEXT: jr $ra +; CHECK-NEXT: addiu $2, $zero, 111 +; CHECK-NEXT: .align 4 +; CHECK-NEXT: ${{BB[0-9]+_[0-9]+}}: +; CHECK-NEXT: jr $ra +; CHECK-NEXT: addiu $2, $zero, 222 +; CHECK-NEXT: .align 4 +; CHECK-NEXT: ${{BB[0-9]+_[0-9]+}}: +; CHECK-NEXT: jr $ra +; CHECK-NEXT: addiu $2, $zero, 333 +; CHECK-NEXT: .align 4 +; CHECK-NEXT: ${{BB[0-9]+_[0-9]+}}: +; CHECK-NEXT: jr $ra +; CHECK-NEXT: addiu $2, $zero, 444 + +} + + +; This test tests that a block whose address is taken is bundle-aligned in NaCl. + +@bb_array = constant [2 x i8*] [i8* blockaddress(@test2, %bb1), + i8* blockaddress(@test2, %bb2)], align 4 + +define i32 @test2(i32 %i) { +entry: + %elementptr = getelementptr inbounds [2 x i8*]* @bb_array, i32 0, i32 %i + %0 = load i8** %elementptr, align 4 + indirectbr i8* %0, [label %bb1, label %bb2] + +bb1: + ret i32 111 +bb2: + ret i32 222 + + +; CHECK-LABEL: test2: + +; Note that there are two consecutive labels - one temporary and one for +; basic block. + +; CHECK: .align 4 +; CHECK-NEXT: ${{[a-zA-Z0-9]+}}: +; CHECK-NEXT: ${{BB[0-9]+_[0-9]+}}: +; CHECK-NEXT: jr $ra +; CHECK-NEXT: addiu $2, $zero, 111 +; CHECK-NEXT: .align 4 +; CHECK-NEXT: ${{[a-zA-Z0-9]+}}: +; CHECK-NEXT: ${{BB[0-9]+_[0-9]+}}: +; CHECK-NEXT: jr $ra +; CHECK-NEXT: addiu $2, $zero, 222 + +} diff --git a/test/MC/Mips/nacl-align.ll b/test/MC/Mips/nacl-align.ll deleted file mode 100644 index e61b8347760..00000000000 --- a/test/MC/Mips/nacl-align.ll +++ /dev/null @@ -1,96 +0,0 @@ -; RUN: llc -filetype=asm -mtriple=mipsel-none-nacl -relocation-model=static \ -; RUN: -O3 < %s | FileCheck %s - - -; This test tests that NaCl functions are bundle-aligned. - -define void @test0() { - ret void - -; CHECK: .align 4 -; CHECK-NOT: .align -; CHECK-LABEL: test0: - -} - - -; This test tests that blocks that are jumped to through jump table are -; bundle-aligned. - -define i32 @test1(i32 %i) { -entry: - switch i32 %i, label %default [ - i32 0, label %bb1 - i32 1, label %bb2 - i32 2, label %bb3 - i32 3, label %bb4 - ] - -bb1: - ret i32 111 -bb2: - ret i32 222 -bb3: - ret i32 333 -bb4: - ret i32 444 -default: - ret i32 555 - - -; CHECK-LABEL: test1: - -; CHECK: .align 4 -; CHECK-NEXT: ${{BB[0-9]+_[0-9]+}}: -; CHECK-NEXT: jr $ra -; CHECK-NEXT: addiu $2, $zero, 111 -; CHECK-NEXT: .align 4 -; CHECK-NEXT: ${{BB[0-9]+_[0-9]+}}: -; CHECK-NEXT: jr $ra -; CHECK-NEXT: addiu $2, $zero, 222 -; CHECK-NEXT: .align 4 -; CHECK-NEXT: ${{BB[0-9]+_[0-9]+}}: -; CHECK-NEXT: jr $ra -; CHECK-NEXT: addiu $2, $zero, 333 -; CHECK-NEXT: .align 4 -; CHECK-NEXT: ${{BB[0-9]+_[0-9]+}}: -; CHECK-NEXT: jr $ra -; CHECK-NEXT: addiu $2, $zero, 444 - -} - - -; This test tests that a block whose address is taken is bundle-aligned in NaCl. - -@bb_array = constant [2 x i8*] [i8* blockaddress(@test2, %bb1), - i8* blockaddress(@test2, %bb2)], align 4 - -define i32 @test2(i32 %i) { -entry: - %elementptr = getelementptr inbounds [2 x i8*]* @bb_array, i32 0, i32 %i - %0 = load i8** %elementptr, align 4 - indirectbr i8* %0, [label %bb1, label %bb2] - -bb1: - ret i32 111 -bb2: - ret i32 222 - - -; CHECK-LABEL: test2: - -; Note that there are two consecutive labels - one temporary and one for -; basic block. - -; CHECK: .align 4 -; CHECK-NEXT: ${{[a-zA-Z0-9]+}}: -; CHECK-NEXT: ${{BB[0-9]+_[0-9]+}}: -; CHECK-NEXT: jr $ra -; CHECK-NEXT: addiu $2, $zero, 111 -; CHECK-NEXT: .align 4 -; CHECK-NEXT: ${{[a-zA-Z0-9]+}}: -; CHECK-NEXT: ${{BB[0-9]+_[0-9]+}}: -; CHECK-NEXT: jr $ra -; CHECK-NEXT: addiu $2, $zero, 222 - -}