Mercurial > hg > CbC > CbC_llvm
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 |