1# RUN: llvm-mc -triple=mips64-unknown-linux-gnuabin32 -position-independent %s \ 2# RUN: | FileCheck -check-prefix=ASM-PIC32 %s 3# RUN: llvm-mc -triple=mips64-unknown-linux-gnu -position-independent %s \ 4# RUN: | FileCheck -check-prefix=ASM-PIC64 %s 5# RUN: llvm-mc -triple=mips64-unknown-linux-gnuabin32 %s \ 6# RUN: | FileCheck -check-prefix=ASM-NPIC %s 7# RUN: llvm-mc -triple=mips64-unknown-linux-gnu %s \ 8# RUN: | FileCheck -check-prefix=ASM-NPIC %s 9 10# RUN: llvm-mc -triple=mips64-unknown-linux-gnuabin32 \ 11# RUN: -position-independent -filetype=obj -o - %s \ 12# RUN: | llvm-objdump -d -r - | FileCheck --check-prefix=OBJ32 %s 13# RUN: llvm-mc -triple=mips64-unknown-linux-gnu \ 14# RUN: -position-independent -filetype=obj -o - %s \ 15# RUN: | llvm-objdump -d -r - | FileCheck --check-prefix=OBJ64 %s 16 17# ASM-PIC32: .text 18# ASM-PIC32: .cplocal $4 19# ASM-PIC32: lw $25, %call16(foo)($4) 20# ASM-PIC32: jalr $25 21 22# ASM-PIC64: .text 23# ASM-PIC64: .cplocal $4 24# ASM-PIC64: ld $25, %call16(foo)($4) 25# ASM-PIC64: jalr $25 26 27# ASM-NPIC: .text 28# ASM-NPIC: .cplocal $4 29# ASM-NPIC: jal foo 30 31# OBJ32: lw $25, 0($4) 32# OBJ32: R_MIPS_CALL16 foo 33# OBJ32: jalr $25 34# OBJ32: R_MIPS_JALR foo 35 36# OBJ64: ld $25, 0($4) 37# OBJ64: R_MIPS_CALL16/R_MIPS_NONE/R_MIPS_NONE foo 38# OBJ64: jalr $25 39# OBJ64: R_MIPS_JALR/R_MIPS_NONE/R_MIPS_NONE foo 40 41 .text 42 .cplocal $4 43 jal foo 44foo: 45 nop 46