Convert another llc -filetype=obj test.
authorRafael Espindola <rafael.espindola@gmail.com>
Mon, 28 Oct 2013 20:59:41 +0000 (20:59 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Mon, 28 Oct 2013 20:59:41 +0000 (20:59 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193537 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/AArch64/jump-table.ll
test/MC/AArch64/jump-table.s [new file with mode: 0644]

index 0f1e760a36750f0490a0bb08525f589ab00252e4..4bb094217af3cfb97793bd2428a41bad479d942b 100644 (file)
@@ -1,6 +1,5 @@
 ; RUN: llc -verify-machineinstrs < %s -mtriple=aarch64-none-linux-gnu | FileCheck %s
 ; RUN: llc -code-model=large -verify-machineinstrs < %s -mtriple=aarch64-none-linux-gnu | FileCheck --check-prefix=CHECK-LARGE %s
-; RUN: llc -verify-machineinstrs < %s -mtriple=aarch64-none-linux-gnu -filetype=obj | llvm-readobj -r | FileCheck %s -check-prefix=CHECK-ELF
 
 define i32 @test_jumptable(i32 %in) {
 ; CHECK: test_jumptable
@@ -48,19 +47,3 @@ lbl4:
 ; CHECK-NEXT: .xword
 ; CHECK-NEXT: .xword
 ; CHECK-NEXT: .xword
-
-; ELF tests:
-
-; First make sure we get a page/lo12 pair in .text to pick up the jump-table
-
-; CHECK-ELF:      Relocations [
-; CHECK-ELF:        Section ({{[0-9]+}}) .rela.text {
-; CHECK-ELF-NEXT:     0x{{[0-9,A-F]+}} R_AARCH64_ADR_PREL_PG_HI21 .rodata
-; CHECK-ELF-NEXT:     0x{{[0-9,A-F]+}} R_AARCH64_ADD_ABS_LO12_NC .rodata
-; CHECK-ELF:        }
-
-; Also check the targets in .rodata are relocated
-; CHECK-ELF:        Section ({{[0-9]+}}) .rela.rodata {
-; CHECK-ELF-NEXT:     0x{{[0-9,A-F]+}} R_AARCH64_ABS64 .text
-; CHECK-ELF:        }
-; CHECK-ELF:      ]
diff --git a/test/MC/AArch64/jump-table.s b/test/MC/AArch64/jump-table.s
new file mode 100644 (file)
index 0000000..578ebf4
--- /dev/null
@@ -0,0 +1,59 @@
+// RUN: llvm-mc < %s -triple=aarch64-none-linux-gnu -filetype=obj | llvm-readobj -r | FileCheck %s
+
+       .file   "<stdin>"
+       .text
+       .globl  test_jumptable
+       .type   test_jumptable,@function
+test_jumptable:                         // @test_jumptable
+       .cfi_startproc
+// BB#0:
+       ubfx    w1, w0, #0, #32
+       cmp w0, #4
+       b.hi .LBB0_3
+// BB#1:
+       adrp    x0, .LJTI0_0
+       add     x0, x0, #:lo12:.LJTI0_0
+       ldr     x0, [x0, x1, lsl #3]
+       br      x0
+.LBB0_2:                                // %lbl1
+       movz    x0, #1
+       ret
+.LBB0_3:                                // %def
+       mov      x0, xzr
+       ret
+.LBB0_4:                                // %lbl2
+       movz    x0, #2
+       ret
+.LBB0_5:                                // %lbl3
+       movz    x0, #4
+       ret
+.LBB0_6:                                // %lbl4
+       movz    x0, #8
+       ret
+.Ltmp0:
+       .size   test_jumptable, .Ltmp0-test_jumptable
+       .cfi_endproc
+       .section        .rodata,"a",@progbits
+       .align  3
+.LJTI0_0:
+       .xword  .LBB0_2
+       .xword  .LBB0_4
+       .xword  .LBB0_5
+       .xword  .LBB0_3
+       .xword  .LBB0_6
+
+
+
+// First make sure we get a page/lo12 pair in .text to pick up the jump-table
+
+// CHECK:      Relocations [
+// CHECK:        Section ({{[0-9]+}}) .rela.text {
+// CHECK-NEXT:     0x{{[0-9,A-F]+}} R_AARCH64_ADR_PREL_PG_HI21 .rodata
+// CHECK-NEXT:     0x{{[0-9,A-F]+}} R_AARCH64_ADD_ABS_LO12_NC .rodata
+// CHECK:        }
+
+// Also check the targets in .rodata are relocated
+// CHECK:        Section ({{[0-9]+}}) .rela.rodata {
+// CHECK-NEXT:     0x{{[0-9,A-F]+}} R_AARCH64_ABS64 .text
+// CHECK:        }
+// CHECK:      ]