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