comparison lld/test/ELF/arm-thumb-blx.s @ 236:c4bab56944e8 llvm-original

LLVM 16
author kono
date Wed, 09 Nov 2022 17:45:10 +0900
parents 0572611fdcc8
children
comparison
equal deleted inserted replaced
232:70dce7da266c 236:c4bab56944e8
6 // RUN: .R_ARM_CALL24_callee2 : { *(.R_ARM_CALL24_callee_thumb_low) } \ 6 // RUN: .R_ARM_CALL24_callee2 : { *(.R_ARM_CALL24_callee_thumb_low) } \
7 // RUN: .caller : { *(.text) } \ 7 // RUN: .caller : { *(.text) } \
8 // RUN: .R_ARM_CALL24_callee3 : { *(.R_ARM_CALL24_callee_high) } \ 8 // RUN: .R_ARM_CALL24_callee3 : { *(.R_ARM_CALL24_callee_high) } \
9 // RUN: .R_ARM_CALL24_callee4 : { *(.R_ARM_CALL24_callee_thumb_high) } } " > %t.script 9 // RUN: .R_ARM_CALL24_callee4 : { *(.R_ARM_CALL24_callee_thumb_high) } } " > %t.script
10 // RUN: ld.lld --script %t.script %t %ttarget -o %t2 10 // RUN: ld.lld --script %t.script %t %ttarget -o %t2
11 // RUN: llvm-objdump -d --triple=thumbv7a-none-linux-gnueabi %t2 | FileCheck %s 11 // RUN: llvm-objdump -d %t2 | FileCheck %s
12 // Test BLX instruction is chosen for Thumb BL/BLX instruction and ARM callee 12 // Test BLX instruction is chosen for Thumb BL/BLX instruction and ARM callee
13 // 2 byte nops are used to test the pc-rounding behaviour. As a BLX from a 13 // 2 byte nops are used to test the pc-rounding behaviour. As a BLX from a
14 // 2 byte aligned destination is defined as Align(PC,4) + immediate:00 14 // 2 byte aligned destination is defined as Align(PC,4) + immediate:00
15 // FIXME: llvm-mc has problems assembling BLX unless the destination is 15 // FIXME: llvm-mc has problems assembling BLX unless the destination is
16 // external. The targets of the BL and BLX instructions are in arm-thumb-blx-target.s 16 // external. The targets of the BL and BLX instructions are in arm-thumb-blx-target.s