mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-28 06:32:09 +00:00
Convert another llc -filetype=obj test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193537 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e2f60cf7f1
commit
ade09c7fe7
@ -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: ]
|
||||
|
59
test/MC/AArch64/jump-table.s
Normal file
59
test/MC/AArch64/jump-table.s
Normal file
@ -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: ]
|
Loading…
x
Reference in New Issue
Block a user