llvm-6502/test/MC/ARM/complex-operands.s
Saleem Abdulrasool cb914a32d6 ARM IAS: properly handle expression operands
Operands which involved label arithemetic would previously fail to parse.  This
corrects that by adding the additional case for the shift operand validation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198735 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-08 03:28:14 +00:00

41 lines
728 B
ArmAsm

@ RUN: llvm-mc -triple armv7-eabi -filetype asm -o - %s | FileCheck %s
.syntax unified
.data
.type .L_table_begin,%object
.L_table_begin:
.rep 2
.long 0xd15ab1ed
.long 0x0ff1c1a1
.endr
.L_table_end:
.text
.type return,%function
return:
bx lr
.global arm_function
.type arm_function,%function
arm_function:
mov r0, #(.L_table_end - .L_table_begin) >> 2
blx return
@ CHECK-LABEL: arm_function
@ CHECK: movw r0, #(.L_table_end-.L_table_begin)>>2
@ CHECK: blx return
.global thumb_function
.type thumb_function,%function
thumb_function:
mov r0, #(.L_table_end - .L_table_begin) >> 2
blx return
@ CHECK-LABEL: thumb_function
@ CHECK: movw r0, #(.L_table_end-.L_table_begin)>>2
@ CHECK: blx return