mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-28 06:32:09 +00:00
eddfaad1ef
This first step just adds definitions for SLLK, SRLK and SRAK. The next patch will actually make use of them during codegen. insn-bad.s tests that some form of error is reported when using these instructions on z10. More work is needed to get the "instruction requires: distinct-ops" that we'd ideally like, so I've stubbed that part out for now. I'll come back and make it mandatory once the necessary changes are in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186680 91177308-0d34-0410-b5e6-96231b3b80d8
45 lines
1.1 KiB
ArmAsm
45 lines
1.1 KiB
ArmAsm
# For z196 only.
|
|
# RUN: not llvm-mc -triple s390x-linux-gnu -mcpu=z196 < %s 2> %t
|
|
# RUN: FileCheck < %t %s
|
|
#CHECK: error: invalid operand
|
|
#CHECK: sllk %r0,%r0,-524289
|
|
#CHECK: error: invalid operand
|
|
#CHECK: sllk %r0,%r0,524288
|
|
#CHECK: error: %r0 used in an address
|
|
#CHECK: sllk %r0,%r0,0(%r0)
|
|
#CHECK: error: invalid use of indexed addressing
|
|
#CHECK: sllk %r0,%r0,0(%r1,%r2)
|
|
|
|
sllk %r0,%r0,-524289
|
|
sllk %r0,%r0,524288
|
|
sllk %r0,%r0,0(%r0)
|
|
sllk %r0,%r0,0(%r1,%r2)
|
|
|
|
#CHECK: error: invalid operand
|
|
#CHECK: srak %r0,%r0,-524289
|
|
#CHECK: error: invalid operand
|
|
#CHECK: srak %r0,%r0,524288
|
|
#CHECK: error: %r0 used in an address
|
|
#CHECK: srak %r0,%r0,0(%r0)
|
|
#CHECK: error: invalid use of indexed addressing
|
|
#CHECK: srak %r0,%r0,0(%r1,%r2)
|
|
|
|
srak %r0,%r0,-524289
|
|
srak %r0,%r0,524288
|
|
srak %r0,%r0,0(%r0)
|
|
srak %r0,%r0,0(%r1,%r2)
|
|
|
|
#CHECK: error: invalid operand
|
|
#CHECK: srlk %r0,%r0,-524289
|
|
#CHECK: error: invalid operand
|
|
#CHECK: srlk %r0,%r0,524288
|
|
#CHECK: error: %r0 used in an address
|
|
#CHECK: srlk %r0,%r0,0(%r0)
|
|
#CHECK: error: invalid use of indexed addressing
|
|
#CHECK: srlk %r0,%r0,0(%r1,%r2)
|
|
|
|
srlk %r0,%r0,-524289
|
|
srlk %r0,%r0,524288
|
|
srlk %r0,%r0,0(%r0)
|
|
srlk %r0,%r0,0(%r1,%r2)
|