mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-16 11:30:51 +00:00
9188443a2d
This is the first use of D(L,B) addressing, which required a fair bit of surgery. For that reason, the patch just adds the instruction definition and the associated assembler and disassembler support. A later patch will actually make use of it for codegen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185433 91177308-0d34-0410-b5e6-96231b3b80d8
80 lines
2.0 KiB
ArmAsm
80 lines
2.0 KiB
ArmAsm
# RUN: not llvm-mc -triple s390x-linux-gnu < %s 2> %t
|
|
# RUN: FileCheck < %t %s
|
|
|
|
#CHECK: error: invalid instruction
|
|
#CHECK: foo 100, 200
|
|
#CHECK: error: unknown token in expression
|
|
#CHECK: foo 100(, 200
|
|
#CHECK: error: invalid instruction
|
|
#CHECK: foo 100(200), 300
|
|
#CHECK: error: register expected
|
|
#CHECK: foo 100(200,), 300
|
|
#CHECK: error: %r0 used in an address
|
|
#CHECK: foo 100(200,%r0), 300
|
|
#CHECK: error: invalid instruction
|
|
#CHECK: foo 100(200,%r1), 300
|
|
#CHECK: error: invalid operand
|
|
#CHECK: foo 100(%a0), 200
|
|
#CHECK: error: %r0 used in an address
|
|
#CHECK: foo 100(%r0), 200
|
|
#CHECK: error: invalid operand
|
|
#CHECK: foo 100(%r1,%a0), 200
|
|
#CHECK: error: %r0 used in an address
|
|
#CHECK: foo 100(%r1,%r0), 200
|
|
#CHECK: error: unexpected token in address
|
|
#CHECK: foo 100(%r1,%r2, 200
|
|
#CHECK: error: invalid instruction
|
|
#CHECK: foo 100(%r1,%r2), 200
|
|
#CHECK: error: unexpected token in argument list
|
|
#CHECK: foo 100(%r1,%r2)(, 200
|
|
#CHECK: error: invalid instruction
|
|
#CHECK: foo %r0, 200
|
|
#CHECK: error: invalid instruction
|
|
#CHECK: foo %r15, 200
|
|
#CHECK: error: invalid register
|
|
#CHECK: foo %r16, 200
|
|
#CHECK: error: invalid instruction
|
|
#CHECK: foo %f0, 200
|
|
#CHECK: error: invalid instruction
|
|
#CHECK: foo %f15, 200
|
|
#CHECK: error: invalid register
|
|
#CHECK: foo %f16, 200
|
|
#CHECK: error: invalid instruction
|
|
#CHECK: foo %a0, 200
|
|
#CHECK: error: invalid instruction
|
|
#CHECK: foo %a15, 200
|
|
#CHECK: error: invalid register
|
|
#CHECK: foo %a16, 200
|
|
#CHECK: error: invalid register
|
|
#CHECK: foo %c, 200
|
|
#CHECK: error: invalid register
|
|
#CHECK: foo %, 200
|
|
#CHECK: error: unknown token in expression
|
|
#CHECK: foo {, 200
|
|
|
|
foo 100, 200
|
|
foo 100(, 200
|
|
foo 100(200), 300
|
|
foo 100(200,), 300
|
|
foo 100(200,%r0), 300
|
|
foo 100(200,%r1), 300
|
|
foo 100(%a0), 200
|
|
foo 100(%r0), 200
|
|
foo 100(%r1,%a0), 200
|
|
foo 100(%r1,%r0), 200
|
|
foo 100(%r1,%r2, 200
|
|
foo 100(%r1,%r2), 200
|
|
foo 100(%r1,%r2)(, 200
|
|
foo %r0, 200
|
|
foo %r15, 200
|
|
foo %r16, 200
|
|
foo %f0, 200
|
|
foo %f15, 200
|
|
foo %f16, 200
|
|
foo %a0, 200
|
|
foo %a15, 200
|
|
foo %a16, 200
|
|
foo %c, 200
|
|
foo %, 200
|
|
foo {, 200
|