# REQUIRES: mips # Check various cases of microMIPS - regular code cross-calls. # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \ # RUN: -mattr=micromips %s -o %t-eb.o # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \ # RUN: -position-independent -mattr=micromips \ # RUN: %S/Inputs/mips-micro.s -o %t-eb-pic.o # RUN: ld.lld -o %t-eb.exe %t-eb.o %t-eb-pic.o # RUN: llvm-objdump -d -t --mattr=-micromips \ # RUN: --no-show-raw-insn --print-imm-hex %t-eb.exe \ # RUN: | FileCheck --check-prefixes=SYM,REG %s # RUN: llvm-objdump -d -t --mattr=+micromips \ # RUN: --no-show-raw-insn --print-imm-hex %t-eb.exe \ # RUN: | FileCheck --check-prefixes=SYM,MICRO %s # REG: {{0*}}[[FOOT:[0-9a-f]+]] l F .text 0000000e 0x80 __microLA25Thunk_foo # REG: {{0*}}[[BAR:[0-9a-f]+]] g F .text 00000000 bar # REG: {{0*}}[[MIC:[0-9a-f]+]] g .text 00000000 0x80 micro # REG: <__start>: # REG-NEXT: jalx 0x[[MIC]] # REG-NEXT: nop # REG-NEXT: jalx 0x[[FOOT]] <__microLA25Thunk_foo> # REG: <__LA25Thunk_bar>: # REG-NEXT: lui $25, 0x2 # REG-NEXT: j 0x[[BAR]] # MICRO: {{0*}}[[BART:[0-9a-f]+]] l F .text 00000010 __LA25Thunk_bar # MICRO: {{0*}}[[START:[0-9a-f]+]] g .text 00000000 __start # MICRO: {{0*}}[[FOO:[0-9a-f]+]] g F .text 00000000 0x80 foo # MICRO: : # MICRO-NEXT: jalx 0x[[START]] # MICRO-NEXT: nop # MICRO-NEXT: jalx 0x[[BART]] # MICRO: <__microLA25Thunk_foo>: # MICRO-NEXT: lui $25, 0x2 # MICRO-NEXT: j 0x[[FOO]] .text .set nomicromips .global __start __start: jal micro jal foo .set micromips .global micro micro: jal __start jal bar