brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.8 KiB · d8a7f34 Raw
105 lines · plain
1// RUN: llvm-mc -triple=powerpc64le-pc-linux -filetype=obj %s -o - | \2// RUN: llvm-readobj -r - | FileCheck %s3 4// RUN: llvm-mc -triple=powerpc64-pc-linux -filetype=obj %s -o - | \5// RUN: llvm-readobj -r - | FileCheck %s6 7// Verify we can handle all the tprel symbol modifiers for local exec tls.8// Tests 16 bit offsets on both DS-form and D-form instructions, 32 bit9// adjusted and non-adjusted offsets and 64 bit adjusted and non-adjusted10// offsets.11        .text12        .abiversion 213 14        .globl	short_offset_ds15        .p2align	416        .type	short_offset_ds,@function17short_offset_ds:18        lwa 3, i@tprel(13)19        blr20 21        .globl short_offset22        .p2align        423        .type   short_offset,@function24short_offset:25        addi 3, 13, i@tprel26        blr27 28        .globl	medium_offset29        .p2align	430        .type	medium_offset,@function31medium_offset:32        addis 3, 13, i@tprel@ha33        lwa 3, i@tprel@l(3)34        blr35 36        .globl  medium_not_adjusted37        .p2align        438        .type   medium_not_adjusted,@function39medium_not_adjusted:40        lis 3, i@tprel@h41        ori 3, 3, i@tprel@l42        lwax 3, 3, 1343        blr44 45        .globl	large_offset46        .p2align	447        .type	large_offset,@function48large_offset:49        lis 3, i@tprel@highesta50        ori 3, 3, i@tprel@highera51        sldi 3, 3, 3252        oris 3, 3, i@tprel@higha53        addi  3, 3, i@tprel@l54        lwax 3, 3, 1355        blr56 57        .globl	not_adjusted58        .p2align	459        .type	not_adjusted,@function60not_adjusted:61        lis 3, i@tprel@highest62        ori 3, 3, i@tprel@higher63        sldi 3, 3, 3264        oris 3, 3, i@tprel@high65        ori  3, 3, i@tprel@l66        lwax 3, 3, 1367        blr68 69        .type	i,@object70        .section	.tdata,"awT",@progbits71        .p2align	272i:73        .long	5574        .size	i, 475 76        .type j,@object77        .data78        .p2align        379j:80        .quad i@tprel81        .size j, 882 83 84# CHECK: Relocations [85# CHECK:   Section {{.*}} .rela.text {86# CHECK: 0x{{[0-9A-F]+}}  R_PPC64_TPREL16_DS i87# CHECK: 0x{{[0-9A-F]+}}  R_PPC64_TPREL16 i88# CHECK: 0x{{[0-9A-F]+}}  R_PPC64_TPREL16_HA i89# CHECK: 0x{{[0-9A-F]+}}  R_PPC64_TPREL16_LO_DS i90# CHECK: 0x{{[0-9A-F]+}}  R_PPC64_TPREL16_HI i91# CHECK: 0x{{[0-9A-F]+}}  R_PPC64_TPREL16_LO i92# CHECK: 0x{{[0-9A-F]+}}  R_PPC64_TPREL16_HIGHESTA i93# CHECK: 0x{{[0-9A-F]+}}  R_PPC64_TPREL16_HIGHERA i94# CHECK: 0x{{[0-9A-F]+}}  R_PPC64_TPREL16_HIGHA i95# CHECK: 0x{{[0-9A-F]+}}  R_PPC64_TPREL16_LO i96# CHECK: 0x{{[0-9A-F]+}}  R_PPC64_TPREL16_HIGHEST i97# CHECK: 0x{{[0-9A-F]+}}  R_PPC64_TPREL16_HIGHER i98# CHECK: 0x{{[0-9A-F]+}}  R_PPC64_TPREL16_HIGH i99# CHECK: 0x{{[0-9A-F]+}}  R_PPC64_TPREL16_LO i100# CHECK:   }101# CHECK:  Section (6) .rela.data {102# CHECK: 0x{{[0-9A-F]+}}  R_PPC64_TPREL64 i103# CHECK:   }104# CHECK: ]105