61 lines · plain
1# Test pre-v7 Thumb features for Thumb-only targets2#3# RUN: llvm-mc -triple=thumbv6m-linux-gnueabi -arm-add-build-attributes -filetype=obj -o %t_thumbv6m.o %s4# RUN: llvm-objdump -r %t_thumbv6m.o | FileCheck --check-prefix=CHECK-TYPE %s5# RUN: llvm-objdump --disassemble %t_thumbv6m.o | FileCheck --check-prefix=CHECK-INSTR %s6# RUN: llvm-jitlink -noexec -slab-address 0x76ff0000 -slab-allocate 10Kb \7# RUN: -slab-page-size 4096 -abs external_func=0x76bbe880 \8# RUN: -check %s %t_thumbv6m.o9#10# RUN: llvm-mc -triple=thumbv7m-linux-gnueabi -arm-add-build-attributes -filetype=obj -o %t_thumbv7m.o %s11# RUN: llvm-objdump -r %t_thumbv7m.o | FileCheck --check-prefix=CHECK-TYPE %s12# RUN: llvm-objdump --disassemble %t_thumbv7m.o | FileCheck --check-prefix=CHECK-INSTR %s13# RUN: llvm-jitlink -noexec -slab-address 0x76ff0000 -slab-allocate 10Kb \14# RUN: -slab-page-size 4096 -abs external_func=0x76bbe880 \15# RUN: -check %s %t_thumbv7m.o16#17# RUN: llvm-mc -triple=thumbv7-linux-gnueabi -arm-add-build-attributes -filetype=obj -o %t_thumbv7.o %s18# RUN: llvm-objdump -r %t_thumbv7.o | FileCheck --check-prefix=CHECK-TYPE %s19# RUN: llvm-objdump --disassemble %t_thumbv7.o | FileCheck --check-prefix=CHECK-INSTR %s20# RUN: llvm-jitlink -noexec -slab-address 0x76ff0000 -slab-allocate 10Kb \21# RUN: -slab-page-size 4096 -abs external_func=0x76bbe880 \22# RUN: -check %s %t_thumbv7.o23 24 25 .text26 .syntax unified27 28# CHECK-TYPE: {{[0-9a-f]+}} R_ARM_THM_CALL call_target_thumb29# CHECK-INSTR: <call_site>:30# CHECK-INSTR: f7ff fffe bl31# We decode the operand with index 2, because bl generates two leading implicit32# predicate operands that we have to skip in order to decode the call_target operand33# jitlink-check: decode_operand(call_site, 2) = call_target_thumb - next_pc(call_site)34 .globl call_site35 .type call_site,%function36 .p2align 137 .code 1638 .thumb_func39call_site:40 bl call_target_thumb41 .size call_site, .-call_site42 43 .globl call_target_thumb44 .type call_target_thumb,%function45 .p2align 146 .code 1647 .thumb_func48call_target_thumb:49 bx lr50 .size call_target_thumb, .-call_target_thumb51 52# Empty main function for jitlink to be happy53 .globl main54 .type main,%function55 .p2align 156 .code 1657 .thumb_func58main:59 bx lr60 .size main, .-main61