# 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