summaryrefslogtreecommitdiff
path: root/llvm/test/MC/VE/sym-gotoff.s
blob: bdd5e90aeaed97f9b12f3286d3ad0e3098441224 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# RUN: llvm-mc -triple=ve %s -o - | FileCheck %s
# RUN: llvm-mc -triple=ve -filetype=obj %s -o - | llvm-objdump -r - | FileCheck %s --check-prefix=CHECK-OBJ

    lea %s15, _GLOBAL_OFFSET_TABLE_@pc_lo(-24)
    and %s15, %s15, (32)0
    sic %s16
    lea.sl %s15, _GLOBAL_OFFSET_TABLE_@pc_hi(%s16, %s15)
    lea %s0, src@gotoff_lo
    and %s0, %s0, (32)0
    lea.sl %s0, src@gotoff_hi(, %s0)
    ld1b.zx %s0, (%s0, %s15)
# CHECK: lea %s15, _GLOBAL_OFFSET_TABLE_@pc_lo(-24)
# CHECK-NEXT: and %s15, %s15, (32)0
# CHECK-NEXT: sic %s16
# CHECK-NEXT: lea.sl %s15, _GLOBAL_OFFSET_TABLE_@pc_hi(%s16, %s15)
# CHECK-NEXT: lea %s0, src@gotoff_lo
# CHECK-NEXT: and %s0, %s0, (32)0
# CHECK-NEXT: lea.sl %s0, src@gotoff_hi(, %s0)
# CHECK-NEXT: ld1b.zx %s0, (%s0, %s15)

# CHECK-OBJ: 0 R_VE_PC_LO32 _GLOBAL_OFFSET_TABLE_
# CHECK-OBJ-NEXT: 18 R_VE_PC_HI32 _GLOBAL_OFFSET_TABLE_
# CHECK-OBJ-NEXT: 20 R_VE_GOTOFF_LO32 src
# CHECK-OBJ-NEXT: 30 R_VE_GOTOFF_HI32 src