Add OpSize16 bit, for instructions which need 0x66 prefix in 16-bit mode
[oota-llvm.git] / test / MC / SystemZ / insn-bad-z196.s
index cc795d4f172e4805d01a4247b3ae6155c1e8647f..11b66a0f4b0a37b9f8ff6d2465a1973fc5278550 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
        fixbra  %f0, 0, %f2, 0
        fixbra  %f2, 0, %f0, 0
 
+#CHECK: error: invalid operand
+#CHECK: laa    %r0, %r0, -524289
+#CHECK: error: invalid operand
+#CHECK: laa    %r0, %r0, 524288
+#CHECK: error: invalid use of indexed addressing
+#CHECK: laa    %r0, %r0, 0(%r1,%r2)
+
+       laa     %r0, %r0, -524289
+       laa     %r0, %r0, 524288
+       laa     %r0, %r0, 0(%r1,%r2)
+
+#CHECK: error: invalid operand
+#CHECK: laag   %r0, %r0, -524289
+#CHECK: error: invalid operand
+#CHECK: laag   %r0, %r0, 524288
+#CHECK: error: invalid use of indexed addressing
+#CHECK: laag   %r0, %r0, 0(%r1,%r2)
+
+       laag    %r0, %r0, -524289
+       laag    %r0, %r0, 524288
+       laag    %r0, %r0, 0(%r1,%r2)
+
+#CHECK: error: invalid operand
+#CHECK: laal   %r0, %r0, -524289
+#CHECK: error: invalid operand
+#CHECK: laal   %r0, %r0, 524288
+#CHECK: error: invalid use of indexed addressing
+#CHECK: laal   %r0, %r0, 0(%r1,%r2)
+
+       laal    %r0, %r0, -524289
+       laal    %r0, %r0, 524288
+       laal    %r0, %r0, 0(%r1,%r2)
+
+#CHECK: error: invalid operand
+#CHECK: laalg  %r0, %r0, -524289
+#CHECK: error: invalid operand
+#CHECK: laalg  %r0, %r0, 524288
+#CHECK: error: invalid use of indexed addressing
+#CHECK: laalg  %r0, %r0, 0(%r1,%r2)
+
+       laalg   %r0, %r0, -524289
+       laalg   %r0, %r0, 524288
+       laalg   %r0, %r0, 0(%r1,%r2)
+
+#CHECK: error: invalid operand
+#CHECK: lan    %r0, %r0, -524289
+#CHECK: error: invalid operand
+#CHECK: lan    %r0, %r0, 524288
+#CHECK: error: invalid use of indexed addressing
+#CHECK: lan    %r0, %r0, 0(%r1,%r2)
+
+       lan     %r0, %r0, -524289
+       lan     %r0, %r0, 524288
+       lan     %r0, %r0, 0(%r1,%r2)
+
+#CHECK: error: invalid operand
+#CHECK: lang   %r0, %r0, -524289
+#CHECK: error: invalid operand
+#CHECK: lang   %r0, %r0, 524288
+#CHECK: error: invalid use of indexed addressing
+#CHECK: lang   %r0, %r0, 0(%r1,%r2)
+
+       lang    %r0, %r0, -524289
+       lang    %r0, %r0, 524288
+       lang    %r0, %r0, 0(%r1,%r2)
+
+#CHECK: error: invalid operand
+#CHECK: lao    %r0, %r0, -524289
+#CHECK: error: invalid operand
+#CHECK: lao    %r0, %r0, 524288
+#CHECK: error: invalid use of indexed addressing
+#CHECK: lao    %r0, %r0, 0(%r1,%r2)
+
+       lao     %r0, %r0, -524289
+       lao     %r0, %r0, 524288
+       lao     %r0, %r0, 0(%r1,%r2)
+
+#CHECK: error: invalid operand
+#CHECK: laog   %r0, %r0, -524289
+#CHECK: error: invalid operand
+#CHECK: laog   %r0, %r0, 524288
+#CHECK: error: invalid use of indexed addressing
+#CHECK: laog   %r0, %r0, 0(%r1,%r2)
+
+       laog    %r0, %r0, -524289
+       laog    %r0, %r0, 524288
+       laog    %r0, %r0, 0(%r1,%r2)
+
+#CHECK: error: invalid operand
+#CHECK: lax    %r0, %r0, -524289
+#CHECK: error: invalid operand
+#CHECK: lax    %r0, %r0, 524288
+#CHECK: error: invalid use of indexed addressing
+#CHECK: lax    %r0, %r0, 0(%r1,%r2)
+
+       lax     %r0, %r0, -524289
+       lax     %r0, %r0, 524288
+       lax     %r0, %r0, 0(%r1,%r2)
+
+#CHECK: error: invalid operand
+#CHECK: laxg   %r0, %r0, -524289
+#CHECK: error: invalid operand
+#CHECK: laxg   %r0, %r0, 524288
+#CHECK: error: invalid use of indexed addressing
+#CHECK: laxg   %r0, %r0, 0(%r1,%r2)
+
+       laxg    %r0, %r0, -524289
+       laxg    %r0, %r0, 524288
+       laxg    %r0, %r0, 0(%r1,%r2)
+
+#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
        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
        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