summaryrefslogtreecommitdiffstats
path: root/llvm/test/MC/Mips/cplocal.s
blob: bfd9ba560b5de2bfbf57a4937de64d26cf0447b3 (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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# RUN: llvm-mc -triple=mips64-unknown-linux-gnuabin32 -position-independent %s \
# RUN:   | FileCheck -check-prefix=ASM-PIC32 %s
# RUN: llvm-mc -triple=mips64-unknown-linux-gnu -position-independent %s \
# RUN:   | FileCheck -check-prefix=ASM-PIC64 %s
# RUN: llvm-mc -triple=mips64-unknown-linux-gnuabin32 %s \
# RUN:   | FileCheck -check-prefix=ASM-NPIC %s
# RUN: llvm-mc -triple=mips64-unknown-linux-gnu %s \
# RUN:   | FileCheck -check-prefix=ASM-NPIC %s

# RUN: llvm-mc -triple=mips64-unknown-linux-gnuabin32 \
# RUN:         -position-independent -filetype=obj -o - %s \
# RUN:   | llvm-objdump -d -r - | FileCheck -check-prefix=OBJ32 %s
# RUN: llvm-mc -triple=mips64-unknown-linux-gnu \
# RUN:         -position-independent -filetype=obj -o - %s \
# RUN:   | llvm-objdump -d -r - | FileCheck -check-prefix=OBJ64 %s

# ASM-PIC32:  .text
# ASM-PIC32:  .cplocal $4
# ASM-PIC32:  lw $25, %call16(foo)($4)
# ASM-PIC32:  jalr $25

# ASM-PIC64:  .text
# ASM-PIC64:  .cplocal $4
# ASM-PIC64:  ld $25, %call16(foo)($4)
# ASM-PIC64:  jalr $25

# ASM-NPIC:  .text
# ASM-NPIC:  .cplocal $4
# ASM-NPIC:  jal foo

# OBJ32:   lw $25, 0($4)
# OBJ32: R_MIPS_CALL16 foo
# OBJ32:   jalr $25
# OBJ32: R_MIPS_JALR foo

# OBJ64:   ld $25, 0($4)
# OBJ64: R_MIPS_CALL16/R_MIPS_NONE/R_MIPS_NONE foo
# OBJ64:   jalr $25
# OBJ64: R_MIPS_JALR/R_MIPS_NONE/R_MIPS_NONE foo

  .text
  .cplocal $4
  jal foo
foo:
  nop
OpenPOWER on IntegriCloud