mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-28 04:33:05 +00:00
20546c697f
Changing the diagnostic message for out of range branch targets in 191686 broke the tests. The diagnostic message for out of range branch targets was changed to be more consistent with the other diagnostics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191691 91177308-0d34-0410-b5e6-96231b3b80d8
73 lines
2.4 KiB
ArmAsm
73 lines
2.4 KiB
ArmAsm
@ RUN: not llvm-mc -triple=thumbv7-apple-darwin < %s 2> %t
|
|
@ RUN: FileCheck --check-prefix=CHECK-ERRORS < %t %s
|
|
|
|
@ Ill-formed IT block instructions.
|
|
itet eq
|
|
addle r0, r1, r2
|
|
nop
|
|
it le
|
|
iteeee gt
|
|
ittfe le
|
|
nopeq
|
|
|
|
@ CHECK-ERRORS: error: incorrect condition in IT block; got 'le', but expected 'eq'
|
|
@ CHECK-ERRORS: addle r0, r1, r2
|
|
@ CHECK-ERRORS: ^
|
|
@ CHECK-ERRORS: error: incorrect condition in IT block; got 'al', but expected 'ne'
|
|
@ CHECK-ERRORS: nop
|
|
@ CHECK-ERRORS: ^
|
|
@ CHECK-ERRORS: error: instructions in IT block must be predicable
|
|
@ CHECK-ERRORS: it le
|
|
@ CHECK-ERRORS: ^
|
|
@ CHECK-ERRORS: error: too many conditions on IT instruction
|
|
@ CHECK-ERRORS: iteeee gt
|
|
@ CHECK-ERRORS: ^
|
|
@ CHECK-ERRORS: error: illegal IT block condition mask 'tfe'
|
|
@ CHECK-ERRORS: ittfe le
|
|
@ CHECK-ERRORS: ^
|
|
@ CHECK-ERRORS: error: predicated instructions must be in IT block
|
|
@ CHECK-ERRORS: nopeq
|
|
@ CHECK-ERRORS: ^
|
|
|
|
@ Out of range immediates for MRC/MRC2/MRRC/MRRC2
|
|
mrc p14, #8, r1, c1, c2, #4
|
|
mrc p14, #1, r1, c1, c2, #8
|
|
mrc2 p14, #8, r1, c1, c2, #4
|
|
mrc2 p14, #0, r1, c1, c2, #9
|
|
mrrc p7, #16, r5, r4, c1
|
|
mrrc2 p7, #17, r5, r4, c1
|
|
@ CHECK-ERRORS: error: invalid operand for instruction
|
|
@ CHECK-ERRORS: error: invalid operand for instruction
|
|
@ CHECK-ERRORS: error: invalid operand for instruction
|
|
@ CHECK-ERRORS: error: invalid operand for instruction
|
|
@ CHECK-ERRORS: error: immediate operand must be in the range [0,15]
|
|
@ CHECK-ERRORS: error: immediate operand must be in the range [0,15]
|
|
|
|
isb #-1
|
|
isb #16
|
|
@ CHECK-ERRORS: error: immediate value out of range
|
|
@ CHECK-ERRORS: error: immediate value out of range
|
|
|
|
itt eq
|
|
bkpteq #1
|
|
@ CHECK-ERRORS: error: instruction 'bkpt' is not predicable, but condition code specified
|
|
|
|
nopeq
|
|
nopeq
|
|
|
|
@ out of range operands for Thumb2 targets
|
|
|
|
beq.w #-1048578
|
|
bne.w #1048576
|
|
blt.w #1013411
|
|
b.w #-16777218
|
|
b.w #16777216
|
|
b.w #1592313
|
|
|
|
@ CHECK-ERRORS: error: branch target out of range
|
|
@ CHECK-ERRORS: error: branch target out of range
|
|
@ CHECK-ERRORS: error: branch target out of range
|
|
@ CHECK-ERRORS: error: branch target out of range
|
|
@ CHECK-ERRORS: error: branch target out of range
|
|
@ CHECK-ERRORS: error: branch target out of range
|