From 9540074467ca6af4098467261336edbe61f6deea Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Mon, 28 Oct 2013 21:06:12 +0000 Subject: [PATCH] Convert another llc -filetype=obj test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193538 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CodeGen/AArch64/inline-asm-modifiers.ll | 16 -- test/MC/AArch64/inline-asm-modifiers.s | 209 +++++++++++++++++++ 2 files changed, 209 insertions(+), 16 deletions(-) create mode 100644 test/MC/AArch64/inline-asm-modifiers.s diff --git a/test/CodeGen/AArch64/inline-asm-modifiers.ll b/test/CodeGen/AArch64/inline-asm-modifiers.ll index d1b21f8c8b9..d0b158f1f2e 100644 --- a/test/CodeGen/AArch64/inline-asm-modifiers.ll +++ b/test/CodeGen/AArch64/inline-asm-modifiers.ll @@ -1,5 +1,4 @@ ; RUN: llc -mtriple=aarch64-none-linux-gnu -relocation-model=pic < %s | FileCheck %s -; RUN: llc -mtriple=aarch64-none-linux-gnu -relocation-model=pic -filetype=obj < %s | llvm-objdump -r - | FileCheck --check-prefix=CHECK-ELF %s @var_simple = hidden global i32 0 @var_got = global i32 0 @@ -23,13 +22,6 @@ define void @test_inline_modifier_L() nounwind { ; CHECK: ldr x0, [x0, #:gottprel_lo12:var_tlsie] ; CHECK: add x0, x0, #:tprel_lo12:var_tlsle -; CHECK-ELF: R_AARCH64_ADD_ABS_LO12_NC var_simple -; CHECK-ELF: R_AARCH64_LD64_GOT_LO12_NC var_got -; CHECK-ELF: R_AARCH64_TLSDESC_ADD_LO12_NC var_tlsgd -; CHECK-ELF: R_AARCH64_TLSLD_ADD_DTPREL_LO12 var_tlsld -; CHECK-ELF: R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC var_tlsie -; CHECK-ELF: R_AARCH64_TLSLE_ADD_TPREL_LO12 var_tlsle - ret void } @@ -40,9 +32,6 @@ define void @test_inline_modifier_G() nounwind { ; CHECK: add x0, x0, #:dtprel_hi12:var_tlsld, lsl #12 ; CHECK: add x0, x0, #:tprel_hi12:var_tlsle, lsl #12 -; CHECK-ELF: R_AARCH64_TLSLD_ADD_DTPREL_HI12 var_tlsld -; CHECK-ELF: R_AARCH64_TLSLE_ADD_TPREL_HI12 var_tlsle - ret void } @@ -58,11 +47,6 @@ define void @test_inline_modifier_A() nounwind { ; CHECK: adrp x0, :tlsdesc:var_tlsgd ; CHECK: adrp x0, :gottprel:var_tlsie -; CHECK-ELF: R_AARCH64_ADR_PREL_PG_HI21 var_simple -; CHECK-ELF: R_AARCH64_ADR_GOT_PAGE var_got -; CHECK-ELF: R_AARCH64_TLSDESC_ADR_PAGE var_tlsgd -; CHECK-ELF: R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21 var_tlsie - ret void } diff --git a/test/MC/AArch64/inline-asm-modifiers.s b/test/MC/AArch64/inline-asm-modifiers.s new file mode 100644 index 00000000000..caeb6173370 --- /dev/null +++ b/test/MC/AArch64/inline-asm-modifiers.s @@ -0,0 +1,209 @@ +// RUN: llvm-mc -triple=aarch64-none-linux-gnu -filetype=obj < %s | llvm-objdump -r - | FileCheck %s + + .file "" + .text + .globl test_inline_modifier_L + .type test_inline_modifier_L,@function +test_inline_modifier_L: // @test_inline_modifier_L +// BB#0: + //APP + add x0, x0, #:lo12:var_simple + //NO_APP + //APP + ldr x0, [x0, #:got_lo12:var_got] + //NO_APP + //APP + add x0, x0, #:tlsdesc_lo12:var_tlsgd + //NO_APP + //APP + add x0, x0, #:dtprel_lo12:var_tlsld + //NO_APP + //APP + ldr x0, [x0, #:gottprel_lo12:var_tlsie] + //NO_APP + //APP + add x0, x0, #:tprel_lo12:var_tlsle + //NO_APP + ret +.Ltmp0: + .size test_inline_modifier_L, .Ltmp0-test_inline_modifier_L + +// CHECK: R_AARCH64_ADD_ABS_LO12_NC var_simple +// CHECK: R_AARCH64_LD64_GOT_LO12_NC var_got +// CHECK: R_AARCH64_TLSDESC_ADD_LO12_NC var_tlsgd +// CHECK: R_AARCH64_TLSLD_ADD_DTPREL_LO12 var_tlsld +// CHECK: R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC var_tlsie +// CHECK: R_AARCH64_TLSLE_ADD_TPREL_LO12 var_tlsle + + .globl test_inline_modifier_G + .type test_inline_modifier_G,@function +test_inline_modifier_G: // @test_inline_modifier_G +// BB#0: + //APP + add x0, x0, #:dtprel_hi12:var_tlsld, lsl #12 + //NO_APP + //APP + add x0, x0, #:tprel_hi12:var_tlsle, lsl #12 + //NO_APP + ret +.Ltmp1: + .size test_inline_modifier_G, .Ltmp1-test_inline_modifier_G + +// CHECK: R_AARCH64_TLSLD_ADD_DTPREL_HI12 var_tlsld +// CHECK: R_AARCH64_TLSLE_ADD_TPREL_HI12 var_tlsle + + .globl test_inline_modifier_A + .type test_inline_modifier_A,@function +test_inline_modifier_A: // @test_inline_modifier_A +// BB#0: + //APP + adrp x0, var_simple + //NO_APP + //APP + adrp x0, :got:var_got + //NO_APP + //APP + adrp x0, :tlsdesc:var_tlsgd + //NO_APP + //APP + adrp x0, :gottprel:var_tlsie + //NO_APP + ret +.Ltmp2: + .size test_inline_modifier_A, .Ltmp2-test_inline_modifier_A +// CHECK: R_AARCH64_ADR_PREL_PG_HI21 var_simple +// CHECK: R_AARCH64_ADR_GOT_PAGE var_got +// CHECK: R_AARCH64_TLSDESC_ADR_PAGE var_tlsgd +// CHECK: R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21 var_tlsie + + .globl test_inline_modifier_wx + .type test_inline_modifier_wx,@function +test_inline_modifier_wx: // @test_inline_modifier_wx +// BB#0: + mov w2, w0 + //APP + add w2, w2, w2 + //NO_APP + mov w2, w0 + //APP + add w2, w2, w2 + //NO_APP + //APP + add x0, x0, x0 + //NO_APP + mov x0, x1 + //APP + add x0, x0, x0 + //NO_APP + mov x0, x1 + //APP + add w0, w0, w0 + //NO_APP + //APP + add x1, x1, x1 + //NO_APP + //APP + add w0, wzr, wzr + //NO_APP + //APP + add x0, xzr, xzr + //NO_APP + ret +.Ltmp3: + .size test_inline_modifier_wx, .Ltmp3-test_inline_modifier_wx + + .globl test_inline_modifier_bhsdq + .type test_inline_modifier_bhsdq,@function +test_inline_modifier_bhsdq: // @test_inline_modifier_bhsdq +// BB#0: + //APP + ldr b0, [sp] + //NO_APP + //APP + ldr h0, [sp] + //NO_APP + //APP + ldr s0, [sp] + //NO_APP + //APP + ldr d0, [sp] + //NO_APP + //APP + ldr q0, [sp] + //NO_APP + //APP + ldr b0, [sp] + //NO_APP + //APP + ldr h0, [sp] + //NO_APP + //APP + ldr s0, [sp] + //NO_APP + //APP + ldr d0, [sp] + //NO_APP + //APP + ldr q0, [sp] + //NO_APP + ret +.Ltmp4: + .size test_inline_modifier_bhsdq, .Ltmp4-test_inline_modifier_bhsdq + + .globl test_inline_modifier_c + .type test_inline_modifier_c,@function +test_inline_modifier_c: // @test_inline_modifier_c +// BB#0: + //APP + adr x0, 3 + //NO_APP + ret +.Ltmp5: + .size test_inline_modifier_c, .Ltmp5-test_inline_modifier_c + + .hidden var_simple // @var_simple + .type var_simple,@object + .bss + .globl var_simple + .align 2 +var_simple: + .word 0 // 0x0 + .size var_simple, 4 + + .type var_got,@object // @var_got + .globl var_got + .align 2 +var_got: + .word 0 // 0x0 + .size var_got, 4 + + .type var_tlsgd,@object // @var_tlsgd + .section .tbss,"awT",@nobits + .globl var_tlsgd + .align 2 +var_tlsgd: + .word 0 // 0x0 + .size var_tlsgd, 4 + + .type var_tlsld,@object // @var_tlsld + .globl var_tlsld + .align 2 +var_tlsld: + .word 0 // 0x0 + .size var_tlsld, 4 + + .type var_tlsie,@object // @var_tlsie + .globl var_tlsie + .align 2 +var_tlsie: + .word 0 // 0x0 + .size var_tlsie, 4 + + .type var_tlsle,@object // @var_tlsle + .globl var_tlsle + .align 2 +var_tlsle: + .word 0 // 0x0 + .size var_tlsle, 4 + + -- 2.34.1