llvm/test/MC/ARM/arm-branch-errors.s
Tim Northover 1f1f6a69b0 ARM: validate immediate branch targets in AsmParser.
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
2016-07-11 22:29:37 +00:00

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