1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 04:22:57 +02:00
llvm-mirror/test/MC/ARM/arm-branches.s
Tim Northover b2bffb2bad 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.

llvm-svn: 275116
2016-07-11 22:29:37 +00:00

16 lines
655 B
ArmAsm

@ RUN: llvm-mc -triple=armv7-apple-darwin -show-encoding < %s | FileCheck %s
@------------------------------------------------------------------------------
@ Branch targets destined for ARM mode must == 0 (mod 4), otherwise (mod 2).
@------------------------------------------------------------------------------
b #4
bl #4
beq #4
blx #2
@ CHECK: b #4 @ encoding: [0x01,0x00,0x00,0xea]
@ CHECK: bl #4 @ encoding: [0x01,0x00,0x00,0xeb]
@ CHECK: beq #4 @ encoding: [0x01,0x00,0x00,0x0a]
@ CHECK: blx #2 @ encoding: [0x00,0x00,0x00,0xfb]