[SystemZ] Add comparisons of high words and memory
[oota-llvm.git] / test / MC / SystemZ / insn-bad-z196.s
index a5e21894a3d758775d81e74586a630c62354dacd..089d9b5b3e147412ca29e17f5f4c41009baeb07d 100644 (file)
        ahik    %r0, %r1, 32768
        ahik    %r0, %r1, foo
 
+#CHECK: error: invalid operand
+#CHECK: aih    %r0, (-1 << 31) - 1
+#CHECK: error: invalid operand
+#CHECK: aih    %r0, (1 << 31)
+
+       aih     %r0, (-1 << 31) - 1
+       aih     %r0, (1 << 31)
+
+#CHECK: error: invalid operand
+#CHECK: chf    %r0, -524289
+#CHECK: error: invalid operand
+#CHECK: chf    %r0, 524288
+
+       chf     %r0, -524289
+       chf     %r0, 524288
+
+#CHECK: error: invalid operand
+#CHECK: cih    %r0, (-1 << 31) - 1
+#CHECK: error: invalid operand
+#CHECK: cih    %r0, (1 << 31)
+
+       cih     %r0, (-1 << 31) - 1
+       cih     %r0, (1 << 31)
+
+#CHECK: error: invalid operand
+#CHECK: clhf   %r0, -524289
+#CHECK: error: invalid operand
+#CHECK: clhf   %r0, 524288
+
+       clhf    %r0, -524289
+       clhf    %r0, 524288
+
+#CHECK: error: invalid operand
+#CHECK: clih   %r0, -1
+#CHECK: error: invalid operand
+#CHECK: clih   %r0, (1 << 32)
+
+       clih    %r0, -1
+       clih    %r0, (1 << 32)
+
+#CHECK: error: invalid operand
+#CHECK: fidbra %f0, 0, %f0, -1
+#CHECK: error: invalid operand
+#CHECK: fidbra %f0, 0, %f0, 16
+#CHECK: error: invalid operand
+#CHECK: fidbra %f0, -1, %f0, 0
+#CHECK: error: invalid operand
+#CHECK: fidbra %f0, 16, %f0, 0
+
+       fidbra  %f0, 0, %f0, -1
+       fidbra  %f0, 0, %f0, 16
+       fidbra  %f0, -1, %f0, 0
+       fidbra  %f0, 16, %f0, 0
+
+#CHECK: error: invalid operand
+#CHECK: fiebra %f0, 0, %f0, -1
+#CHECK: error: invalid operand
+#CHECK: fiebra %f0, 0, %f0, 16
+#CHECK: error: invalid operand
+#CHECK: fiebra %f0, -1, %f0, 0
+#CHECK: error: invalid operand
+#CHECK: fiebra %f0, 16, %f0, 0
+
+       fiebra  %f0, 0, %f0, -1
+       fiebra  %f0, 0, %f0, 16
+       fiebra  %f0, -1, %f0, 0
+       fiebra  %f0, 16, %f0, 0
+
+#CHECK: error: invalid operand
+#CHECK: fixbra %f0, 0, %f0, -1
+#CHECK: error: invalid operand
+#CHECK: fixbra %f0, 0, %f0, 16
+#CHECK: error: invalid operand
+#CHECK: fixbra %f0, -1, %f0, 0
+#CHECK: error: invalid operand
+#CHECK: fixbra %f0, 16, %f0, 0
+#CHECK: error: invalid register pair
+#CHECK: fixbra %f0, 0, %f2, 0
+#CHECK: error: invalid register pair
+#CHECK: fixbra %f2, 0, %f0, 0
+
+       fixbra  %f0, 0, %f0, -1
+       fixbra  %f0, 0, %f0, 16
+       fixbra  %f0, -1, %f0, 0
+       fixbra  %f0, 16, %f0, 0
+       fixbra  %f0, 0, %f2, 0
+       fixbra  %f2, 0, %f0, 0
+
+#CHECK: error: invalid operand
+#CHECK: lbh    %r0, -524289
+#CHECK: error: invalid operand
+#CHECK: lbh    %r0, 524288
+
+       lbh     %r0, -524289
+       lbh     %r0, 524288
+
+#CHECK: error: invalid operand
+#CHECK: lfh    %r0, -524289
+#CHECK: error: invalid operand
+#CHECK: lfh    %r0, 524288
+
+       lfh     %r0, -524289
+       lfh     %r0, 524288
+
+#CHECK: error: invalid operand
+#CHECK: lhh    %r0, -524289
+#CHECK: error: invalid operand
+#CHECK: lhh    %r0, 524288
+
+       lhh     %r0, -524289
+       lhh     %r0, 524288
+
+#CHECK: error: invalid operand
+#CHECK: llch   %r0, -524289
+#CHECK: error: invalid operand
+#CHECK: llch   %r0, 524288
+
+       llch    %r0, -524289
+       llch    %r0, 524288
+
+#CHECK: error: invalid operand
+#CHECK: llhh   %r0, -524289
+#CHECK: error: invalid operand
+#CHECK: llhh   %r0, 524288
+
+       llhh    %r0, -524289
+       llhh    %r0, 524288
+
 #CHECK: error: invalid operand
 #CHECK: loc    %r0,0,-1
 #CHECK: error: invalid operand
        locr    %r0,%r0,-1
        locr    %r0,%r0,16
 
+#CHECK: error: invalid operand
+#CHECK: risbhg %r0,%r0,0,0,-1
+#CHECK: error: invalid operand
+#CHECK: risbhg %r0,%r0,0,0,64
+#CHECK: error: invalid operand
+#CHECK: risbhg %r0,%r0,0,-1,0
+#CHECK: error: invalid operand
+#CHECK: risbhg %r0,%r0,0,256,0
+#CHECK: error: invalid operand
+#CHECK: risbhg %r0,%r0,-1,0,0
+#CHECK: error: invalid operand
+#CHECK: risbhg %r0,%r0,256,0,0
+
+       risbhg  %r0,%r0,0,0,-1
+       risbhg  %r0,%r0,0,0,64
+       risbhg  %r0,%r0,0,-1,0
+       risbhg  %r0,%r0,0,256,0
+       risbhg  %r0,%r0,-1,0,0
+       risbhg  %r0,%r0,256,0,0
+
+#CHECK: error: invalid operand
+#CHECK: risblg %r0,%r0,0,0,-1
+#CHECK: error: invalid operand
+#CHECK: risblg %r0,%r0,0,0,64
+#CHECK: error: invalid operand
+#CHECK: risblg %r0,%r0,0,-1,0
+#CHECK: error: invalid operand
+#CHECK: risblg %r0,%r0,0,256,0
+#CHECK: error: invalid operand
+#CHECK: risblg %r0,%r0,-1,0,0
+#CHECK: error: invalid operand
+#CHECK: risblg %r0,%r0,256,0,0
+
+       risblg  %r0,%r0,0,0,-1
+       risblg  %r0,%r0,0,0,64
+       risblg  %r0,%r0,0,-1,0
+       risblg  %r0,%r0,0,256,0
+       risblg  %r0,%r0,-1,0,0
+       risblg  %r0,%r0,256,0,0
+
 #CHECK: error: invalid operand
 #CHECK: sllk   %r0,%r0,-524289
 #CHECK: error: invalid operand
        srlk    %r0,%r0,0(%r0)
        srlk    %r0,%r0,0(%r1,%r2)
 
+#CHECK: error: invalid operand
+#CHECK: stch   %r0, -524289
+#CHECK: error: invalid operand
+#CHECK: stch   %r0, 524288
+
+       stch    %r0, -524289
+       stch    %r0, 524288
+
+#CHECK: error: invalid operand
+#CHECK: sthh   %r0, -524289
+#CHECK: error: invalid operand
+#CHECK: sthh   %r0, 524288
+
+       sthh    %r0, -524289
+       sthh    %r0, 524288
+
+#CHECK: error: invalid operand
+#CHECK: stfh   %r0, -524289
+#CHECK: error: invalid operand
+#CHECK: stfh   %r0, 524288
+
+       stfh    %r0, -524289
+       stfh    %r0, 524288
+
 #CHECK: error: invalid operand
 #CHECK: stoc   %r0,0,-1
 #CHECK: error: invalid operand