| # For z17 only. |
| # RUN: not llvm-mc -triple s390x-linux-gnu -mcpu=z17 < %s 2> %t |
| # RUN: FileCheck < %t %s |
| |
| #CHECK: error: invalid use of indexed addressing |
| #CHECK: cal %r2, 160(%r1,%r15), 160(%r15) |
| #CHECK: error: invalid operand |
| #CHECK: cal %r2, -1(%r1), 160(%r15) |
| #CHECK: error: invalid operand |
| #CHECK: cal %r2, 4096(%r1), 160(%r15) |
| #CHECK: error: invalid operand |
| #CHECK: cal %r2, 0(%r1), -1(%r15) |
| #CHECK: error: invalid operand |
| #CHECK: cal %r2, 0(%r1), 4096(%r15) |
| |
| cal %r2, 160(%r1,%r15), 160(%r15) |
| cal %r2, -1(%r1), 160(%r15) |
| cal %r2, 4096(%r1), 160(%r15) |
| cal %r2, 0(%r1), -1(%r15) |
| cal %r2, 0(%r1), 4096(%r15) |
| |
| #CHECK: error: invalid use of indexed addressing |
| #CHECK: calg %r2, 160(%r1,%r15), 160(%r15) |
| #CHECK: error: invalid operand |
| #CHECK: calg %r2, -1(%r1), 160(%r15) |
| #CHECK: error: invalid operand |
| #CHECK: calg %r2, 4096(%r1), 160(%r15) |
| #CHECK: error: invalid operand |
| #CHECK: calg %r2, 0(%r1), -1(%r15) |
| #CHECK: error: invalid operand |
| #CHECK: calg %r2, 0(%r1), 4096(%r15) |
| |
| calg %r2, 160(%r1,%r15), 160(%r15) |
| calg %r2, -1(%r1), 160(%r15) |
| calg %r2, 4096(%r1), 160(%r15) |
| calg %r2, 0(%r1), -1(%r15) |
| calg %r2, 0(%r1), 4096(%r15) |
| |
| #CHECK: error: invalid use of indexed addressing |
| #CHECK: calgf %r2, 160(%r1,%r15), 160(%r15) |
| #CHECK: error: invalid operand |
| #CHECK: calgf %r2, -1(%r1), 160(%r15) |
| #CHECK: error: invalid operand |
| #CHECK: calgf %r2, 4096(%r1), 160(%r15) |
| #CHECK: error: invalid operand |
| #CHECK: calgf %r2, 0(%r1), -1(%r15) |
| #CHECK: error: invalid operand |
| #CHECK: calgf %r2, 0(%r1), 4096(%r15) |
| |
| calgf %r2, 160(%r1,%r15), 160(%r15) |
| calgf %r2, -1(%r1), 160(%r15) |
| calgf %r2, 4096(%r1), 160(%r15) |
| calgf %r2, 0(%r1), -1(%r15) |
| calgf %r2, 0(%r1), 4096(%r15) |
| |
| #CHECK: error: invalid operand |
| #CHECK: kimd %r0, %r0, -1 |
| #CHECK: error: invalid operand |
| #CHECK: kimd %r0, %r0, 16 |
| |
| kimd %r0, %r0, -1 |
| kimd %r0, %r0, 16 |
| |
| #CHECK: error: invalid operand |
| #CHECK: klmd %r0, %r0, -1 |
| #CHECK: error: invalid operand |
| #CHECK: klmd %r0, %r0, 16 |
| |
| klmd %r0, %r0, -1 |
| klmd %r0, %r0, 16 |
| |
| #CHECK: error: invalid operand |
| #CHECK: lxab %r0, -524289 |
| #CHECK: error: invalid operand |
| #CHECK: lxab %r0, 524288 |
| |
| lxab %r0, -524289 |
| lxab %r0, 524288 |
| |
| #CHECK: error: invalid operand |
| #CHECK: lxah %r0, -524289 |
| #CHECK: error: invalid operand |
| #CHECK: lxah %r0, 524288 |
| |
| lxah %r0, -524289 |
| lxah %r0, 524288 |
| |
| #CHECK: error: invalid operand |
| #CHECK: lxaf %r0, -524289 |
| #CHECK: error: invalid operand |
| #CHECK: lxaf %r0, 524288 |
| |
| lxaf %r0, -524289 |
| lxaf %r0, 524288 |
| |
| #CHECK: error: invalid operand |
| #CHECK: lxag %r0, -524289 |
| #CHECK: error: invalid operand |
| #CHECK: lxag %r0, 524288 |
| |
| lxag %r0, -524289 |
| lxag %r0, 524288 |
| |
| #CHECK: error: invalid operand |
| #CHECK: lxaq %r0, -524289 |
| #CHECK: error: invalid operand |
| #CHECK: lxaq %r0, 524288 |
| |
| lxaq %r0, -524289 |
| lxaq %r0, 524288 |
| |
| #CHECK: error: invalid operand |
| #CHECK: llxab %r0, -524289 |
| #CHECK: error: invalid operand |
| #CHECK: llxab %r0, 524288 |
| |
| llxab %r0, -524289 |
| llxab %r0, 524288 |
| |
| #CHECK: error: invalid operand |
| #CHECK: llxah %r0, -524289 |
| #CHECK: error: invalid operand |
| #CHECK: llxah %r0, 524288 |
| |
| llxah %r0, -524289 |
| llxah %r0, 524288 |
| |
| #CHECK: error: invalid operand |
| #CHECK: llxaf %r0, -524289 |
| #CHECK: error: invalid operand |
| #CHECK: llxaf %r0, 524288 |
| |
| llxaf %r0, -524289 |
| llxaf %r0, 524288 |
| |
| #CHECK: error: invalid operand |
| #CHECK: llxag %r0, -524289 |
| #CHECK: error: invalid operand |
| #CHECK: llxag %r0, 524288 |
| |
| llxag %r0, -524289 |
| llxag %r0, 524288 |
| |
| #CHECK: error: invalid operand |
| #CHECK: llxaq %r0, -524289 |
| #CHECK: error: invalid operand |
| #CHECK: llxaq %r0, 524288 |
| |
| llxaq %r0, -524289 |
| llxaq %r0, 524288 |
| |
| #CHECK: error: invalid operand |
| #CHECK: pfcr %r0, %r0, -524289 |
| #CHECK: error: invalid operand |
| #CHECK: pfcr %r0, %r0, 524288 |
| #CHECK: error: invalid use of indexed addressing |
| #CHECK: pfcr %r0, %r0, 0(%r1,%r2) |
| |
| pfcr %r0, %r0, -524289 |
| pfcr %r0, %r0, 524288 |
| pfcr %r0, %r0, 0(%r1,%r2) |
| |
| #CHECK: error: invalid operand |
| #CHECK: vcvbq %v0, %v0, -1 |
| #CHECK: error: invalid operand |
| #CHECK: vcvbq %v0, %v0, 16 |
| |
| vcvbq %v0, %v0, -1 |
| vcvbq %v0, %v0, 16 |
| |
| #CHECK: error: invalid operand |
| #CHECK: vcvdq %v0, %v0, 0, -1 |
| #CHECK: error: invalid operand |
| #CHECK: vcvdq %v0, %v0, 0, 16 |
| #CHECK: error: invalid operand |
| #CHECK: vcvdq %v0, %v0, -1, 0 |
| #CHECK: error: invalid operand |
| #CHECK: vcvdq %v0, %v0, 256, 0 |
| |
| vcvdq %v0, %v0, 0, -1 |
| vcvdq %v0, %v0, 0, 16 |
| vcvdq %v0, %v0, -1, 0 |
| vcvdq %v0, %v0, 256, 0 |
| |
| #CHECK: error: invalid operand |
| #CHECK: vd %v0, %v0, %v0, 0, -1 |
| #CHECK: error: invalid operand |
| #CHECK: vd %v0, %v0, %v0, 0, 16 |
| #CHECK: error: invalid operand |
| #CHECK: vd %v0, %v0, %v0, -1, 0 |
| #CHECK: error: invalid operand |
| #CHECK: vd %v0, %v0, %v0, 16, 0 |
| |
| vd %v0, %v0, %v0, 0, -1 |
| vd %v0, %v0, %v0, 0, 16 |
| vd %v0, %v0, %v0, -1, 0 |
| vd %v0, %v0, %v0, 16, 0 |
| |
| #CHECK: error: invalid operand |
| #CHECK: vdf %v0, %v0, %v0, -1 |
| #CHECK: error: invalid operand |
| #CHECK: vdf %v0, %v0, %v0, 16 |
| |
| vdf %v0, %v0, %v0, -1 |
| vdf %v0, %v0, %v0, 16 |
| |
| #CHECK: error: invalid operand |
| #CHECK: vdg %v0, %v0, %v0, -1 |
| #CHECK: error: invalid operand |
| #CHECK: vdg %v0, %v0, %v0, 16 |
| |
| vdg %v0, %v0, %v0, -1 |
| vdg %v0, %v0, %v0, 16 |
| |
| #CHECK: error: invalid operand |
| #CHECK: vdq %v0, %v0, %v0, -1 |
| #CHECK: error: invalid operand |
| #CHECK: vdq %v0, %v0, %v0, 16 |
| |
| vdq %v0, %v0, %v0, -1 |
| vdq %v0, %v0, %v0, 16 |
| |
| #CHECK: error: invalid operand |
| #CHECK: vdl %v0, %v0, %v0, 0, -1 |
| #CHECK: error: invalid operand |
| #CHECK: vdl %v0, %v0, %v0, 0, 16 |
| #CHECK: error: invalid operand |
| #CHECK: vdl %v0, %v0, %v0, -1, 0 |
| #CHECK: error: invalid operand |
| #CHECK: vdl %v0, %v0, %v0, 16, 0 |
| |
| vdl %v0, %v0, %v0, 0, -1 |
| vdl %v0, %v0, %v0, 0, 16 |
| vdl %v0, %v0, %v0, -1, 0 |
| vdl %v0, %v0, %v0, 16, 0 |
| |
| #CHECK: error: invalid operand |
| #CHECK: vdlf %v0, %v0, %v0, -1 |
| #CHECK: error: invalid operand |
| #CHECK: vdlf %v0, %v0, %v0, 16 |
| |
| vdlf %v0, %v0, %v0, -1 |
| vdlf %v0, %v0, %v0, 16 |
| |
| #CHECK: error: invalid operand |
| #CHECK: vdlg %v0, %v0, %v0, -1 |
| #CHECK: error: invalid operand |
| #CHECK: vdlg %v0, %v0, %v0, 16 |
| |
| vdlg %v0, %v0, %v0, -1 |
| vdlg %v0, %v0, %v0, 16 |
| |
| #CHECK: error: invalid operand |
| #CHECK: vdlq %v0, %v0, %v0, -1 |
| #CHECK: error: invalid operand |
| #CHECK: vdlq %v0, %v0, %v0, 16 |
| |
| vdlq %v0, %v0, %v0, -1 |
| vdlq %v0, %v0, %v0, 16 |
| |
| #CHECK: error: invalid operand |
| #CHECK: veval %v0, %v0, %v0, %v0, -1 |
| #CHECK: error: invalid operand |
| #CHECK: veval %v0, %v0, %v0, %v0, 256 |
| |
| veval %v0, %v0, %v0, %v0, -1 |
| veval %v0, %v0, %v0, %v0, 256 |
| |
| #CHECK: error: invalid operand |
| #CHECK: vr %v0, %v0, %v0, 0, -1 |
| #CHECK: error: invalid operand |
| #CHECK: vr %v0, %v0, %v0, 0, 16 |
| #CHECK: error: invalid operand |
| #CHECK: vr %v0, %v0, %v0, -1, 0 |
| #CHECK: error: invalid operand |
| #CHECK: vr %v0, %v0, %v0, 16, 0 |
| |
| vr %v0, %v0, %v0, 0, -1 |
| vr %v0, %v0, %v0, 0, 16 |
| vr %v0, %v0, %v0, -1, 0 |
| vr %v0, %v0, %v0, 16, 0 |
| |
| #CHECK: error: invalid operand |
| #CHECK: vrf %v0, %v0, %v0, -1 |
| #CHECK: error: invalid operand |
| #CHECK: vrf %v0, %v0, %v0, 16 |
| |
| vrf %v0, %v0, %v0, -1 |
| vrf %v0, %v0, %v0, 16 |
| |
| #CHECK: error: invalid operand |
| #CHECK: vrg %v0, %v0, %v0, -1 |
| #CHECK: error: invalid operand |
| #CHECK: vrg %v0, %v0, %v0, 16 |
| |
| vrg %v0, %v0, %v0, -1 |
| vrg %v0, %v0, %v0, 16 |
| |
| #CHECK: error: invalid operand |
| #CHECK: vrq %v0, %v0, %v0, -1 |
| #CHECK: error: invalid operand |
| #CHECK: vrq %v0, %v0, %v0, 16 |
| |
| vrq %v0, %v0, %v0, -1 |
| vrq %v0, %v0, %v0, 16 |
| |
| #CHECK: error: invalid operand |
| #CHECK: vrl %v0, %v0, %v0, 0, -1 |
| #CHECK: error: invalid operand |
| #CHECK: vrl %v0, %v0, %v0, 0, 16 |
| #CHECK: error: invalid operand |
| #CHECK: vrl %v0, %v0, %v0, -1, 0 |
| #CHECK: error: invalid operand |
| #CHECK: vrl %v0, %v0, %v0, 16, 0 |
| |
| vrl %v0, %v0, %v0, 0, -1 |
| vrl %v0, %v0, %v0, 0, 16 |
| vrl %v0, %v0, %v0, -1, 0 |
| vrl %v0, %v0, %v0, 16, 0 |
| |
| #CHECK: error: invalid operand |
| #CHECK: vrlf %v0, %v0, %v0, -1 |
| #CHECK: error: invalid operand |
| #CHECK: vrlf %v0, %v0, %v0, 16 |
| |
| vrlf %v0, %v0, %v0, -1 |
| vrlf %v0, %v0, %v0, 16 |
| |
| #CHECK: error: invalid operand |
| #CHECK: vrlg %v0, %v0, %v0, -1 |
| #CHECK: error: invalid operand |
| #CHECK: vrlg %v0, %v0, %v0, 16 |
| |
| vrlg %v0, %v0, %v0, -1 |
| vrlg %v0, %v0, %v0, 16 |
| |
| #CHECK: error: invalid operand |
| #CHECK: vrlq %v0, %v0, %v0, -1 |
| #CHECK: error: invalid operand |
| #CHECK: vrlq %v0, %v0, %v0, 16 |
| |
| vrlq %v0, %v0, %v0, -1 |
| vrlq %v0, %v0, %v0, 16 |
| |
| #CHECK: error: invalid operand |
| #CHECK: vtp %v0, -1 |
| #CHECK: error: invalid operand |
| #CHECK: vtp %v0, 65536 |
| |
| vtp %v0, -1 |
| vtp %v0, 65536 |
| |
| #CHECK: error: invalid operand |
| #CHECK: vtz %v0, %v0, -1 |
| #CHECK: error: invalid operand |
| #CHECK: vtz %v0, %v0, 65536 |
| |
| vtz %v0, %v0, -1 |
| vtz %v0, %v0, 65536 |
| |