mirror of
https://github.com/RPCS3/llvm.git
synced 2025-05-24 06:16:28 +00:00

Immediate branch targets aren't commonly used, but if they are we should make sure they can actually be encoded. This means they must be divisible by 2 when targeting Thumb mode, and by 4 when targeting ARM mode. Also do a little naming cleanup while I was changing everything around anyway. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@275116 91177308-0d34-0410-b5e6-96231b3b80d8
17 lines
551 B
ArmAsm
17 lines
551 B
ArmAsm
@ RUN: not llvm-mc -triple=armv7-apple-darwin < %s 2>&1 | FileCheck %s
|
|
|
|
@------------------------------------------------------------------------------
|
|
@ Branch targets destined for ARM mode must == 0 (mod 4), otherwise (mod 2).
|
|
@------------------------------------------------------------------------------
|
|
|
|
b #2
|
|
bl #2
|
|
beq #2
|
|
|
|
@ CHECK: error: instruction requires: thumb
|
|
@ CHECK: b #2
|
|
@ CHECK: error: instruction requires: thumb
|
|
@ CHECK: bl #2
|
|
@ CHECK: error: instruction requires: thumb
|
|
@ CHECK: beq #2
|