xref: /aosp_15_r20/external/llvm/test/MC/Mips/micromips64r6/invalid.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker# RUN: not llvm-mc %s -triple=mips -show-encoding -mcpu=mips64r6 -mattr=micromips 2>%t1
2*9880d681SAndroid Build Coastguard Worker# RUN: FileCheck %s < %t1
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Worker  addiur1sp $7, 260        # CHECK: :[[@LINE]]:17: error: expected both 8-bit unsigned immediate and multiple of 4
5*9880d681SAndroid Build Coastguard Worker  addiur1sp $7, 241        # CHECK: :[[@LINE]]:17: error: expected both 8-bit unsigned immediate and multiple of 4
6*9880d681SAndroid Build Coastguard Worker  addiur1sp $8, 240        # CHECK: :[[@LINE]]:13: error: invalid operand for instruction
7*9880d681SAndroid Build Coastguard Worker  addiur2 $9, $7, -1       # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
8*9880d681SAndroid Build Coastguard Worker  addiur2 $6, $7, 10       # CHECK: :[[@LINE]]:{{[0-9]+}}: error: immediate operand value out of range
9*9880d681SAndroid Build Coastguard Worker  addius5 $2, -9           # CHECK: :[[@LINE]]:15: error: expected 4-bit signed immediate
10*9880d681SAndroid Build Coastguard Worker  addius5 $2, 8            # CHECK: :[[@LINE]]:15: error: expected 4-bit signed immediate
11*9880d681SAndroid Build Coastguard Worker  addiusp 1032             # CHECK: :[[@LINE]]:{{[0-9]+}}: error: immediate operand value out of range
12*9880d681SAndroid Build Coastguard Worker  align $4, $2, $3, -1     # CHECK: :[[@LINE]]:21: error: expected 2-bit unsigned immediate
13*9880d681SAndroid Build Coastguard Worker  align $4, $2, $3, 4      # CHECK: :[[@LINE]]:21: error: expected 2-bit unsigned immediate
14*9880d681SAndroid Build Coastguard Worker  beqzc16 $9, 20           # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
15*9880d681SAndroid Build Coastguard Worker  beqzc16 $6, 31           # CHECK: :[[@LINE]]:{{[0-9]+}}: error: branch to misaligned address
16*9880d681SAndroid Build Coastguard Worker  beqzc16 $6, 130          # CHECK: :[[@LINE]]:{{[0-9]+}}: error: branch target out of range
17*9880d681SAndroid Build Coastguard Worker  bnezc16 $9, 20           # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
18*9880d681SAndroid Build Coastguard Worker  bnezc16 $6, 31           # CHECK: :[[@LINE]]:{{[0-9]+}}: error: branch to misaligned address
19*9880d681SAndroid Build Coastguard Worker  bnezc16 $6, 130          # CHECK: :[[@LINE]]:{{[0-9]+}}: error: branch target out of range
20*9880d681SAndroid Build Coastguard Worker  cache -1, 255($7)        # CHECK: :[[@LINE]]:9: error: expected 5-bit unsigned immediate
21*9880d681SAndroid Build Coastguard Worker  cache 32, 255($7)        # CHECK: :[[@LINE]]:9: error: expected 5-bit unsigned immediate
22*9880d681SAndroid Build Coastguard Worker  # FIXME: Check various 'pos + size' constraints on dext*
23*9880d681SAndroid Build Coastguard Worker  dext $2, $3, -1, 1   # CHECK: :[[@LINE]]:16: error: expected 6-bit unsigned immediate
24*9880d681SAndroid Build Coastguard Worker  dext $2, $3, 64, 1   # CHECK: :[[@LINE]]:16: error: expected 6-bit unsigned immediate
25*9880d681SAndroid Build Coastguard Worker  dext $2, $3, 1, 0    # CHECK: :[[@LINE]]:19: error: expected immediate in range 1 .. 32
26*9880d681SAndroid Build Coastguard Worker  dext $2, $3, 1, 33   # CHECK: :[[@LINE]]:19: error: expected immediate in range 1 .. 32
27*9880d681SAndroid Build Coastguard Worker  dextm $2, $3, -1, 1  # CHECK: :[[@LINE]]:17: error: expected 5-bit unsigned immediate
28*9880d681SAndroid Build Coastguard Worker  dextm $2, $3, 32, 1  # CHECK: :[[@LINE]]:17: error: expected 5-bit unsigned immediate
29*9880d681SAndroid Build Coastguard Worker  dextm $2, $3, -1, 33 # CHECK: :[[@LINE]]:17: error: expected 5-bit unsigned immediate
30*9880d681SAndroid Build Coastguard Worker  dextm $2, $3, 32, 33 # CHECK: :[[@LINE]]:17: error: expected 5-bit unsigned immediate
31*9880d681SAndroid Build Coastguard Worker  dextm $2, $3, 1, 32  # CHECK: :[[@LINE]]:20: error: expected immediate in range 33 .. 64
32*9880d681SAndroid Build Coastguard Worker  dextm $2, $3, 1, 65  # CHECK: :[[@LINE]]:20: error: expected immediate in range 33 .. 64
33*9880d681SAndroid Build Coastguard Worker  dextu $2, $3, 31, 1  # CHECK: :[[@LINE]]:17: error: expected immediate in range 32 .. 63
34*9880d681SAndroid Build Coastguard Worker  dextu $2, $3, 64, 1  # CHECK: :[[@LINE]]:17: error: expected immediate in range 32 .. 63
35*9880d681SAndroid Build Coastguard Worker  dextu $2, $3, 32, 0  # CHECK: :[[@LINE]]:21: error: expected immediate in range 1 .. 32
36*9880d681SAndroid Build Coastguard Worker  dextu $2, $3, 32, 33 # CHECK: :[[@LINE]]:21: error: expected immediate in range 1 .. 32
37*9880d681SAndroid Build Coastguard Worker  dins $2, $3, 31, 33  # CHECK: :[[@LINE]]:20: error: expected immediate in range 1 .. 32
38*9880d681SAndroid Build Coastguard Worker  dins $2, $3, 31, 0   # CHECK: :[[@LINE]]:20: error: expected immediate in range 1 .. 32
39*9880d681SAndroid Build Coastguard Worker  # FIXME: Check '32 <= pos + size <= 64' constraint on dinsm
40*9880d681SAndroid Build Coastguard Worker  dinsm $2, $3, -1, 1  # CHECK: :[[@LINE]]:17: error: expected 5-bit unsigned immediate
41*9880d681SAndroid Build Coastguard Worker  dinsm $2, $3, 32, 1  # CHECK: :[[@LINE]]:17: error: expected 5-bit unsigned immediate
42*9880d681SAndroid Build Coastguard Worker  dinsm $2, $3, 31, 0  # CHECK: :[[@LINE]]:21: error: expected immediate in range 2 .. 64
43*9880d681SAndroid Build Coastguard Worker  dinsm $2, $3, 31, 65 # CHECK: :[[@LINE]]:21: error: expected immediate in range 2 .. 64
44*9880d681SAndroid Build Coastguard Worker  dinsu $2, $3, 31, 1  # CHECK: :[[@LINE]]:17: error: expected immediate in range 32 .. 63
45*9880d681SAndroid Build Coastguard Worker  dinsu $2, $3, 64, 1  # CHECK: :[[@LINE]]:17: error: expected immediate in range 32 .. 63
46*9880d681SAndroid Build Coastguard Worker  dinsu $2, $3, 63, 0  # CHECK: :[[@LINE]]:21: error: expected immediate in range 1 .. 32
47*9880d681SAndroid Build Coastguard Worker  dinsu $2, $3, 32, 33 # CHECK: :[[@LINE]]:21: error: expected immediate in range 1 .. 32
48*9880d681SAndroid Build Coastguard Worker  # FIXME: Check '0 < pos + size <= 32' constraint on ext
49*9880d681SAndroid Build Coastguard Worker  ext $2, $3, -1, 31       # CHECK: :[[@LINE]]:15: error: expected 5-bit unsigned immediate
50*9880d681SAndroid Build Coastguard Worker  ext $2, $3, 32, 31       # CHECK: :[[@LINE]]:15: error: expected 5-bit unsigned immediate
51*9880d681SAndroid Build Coastguard Worker  ext $2, $3, 1, 0         # CHECK: :[[@LINE]]:18: error: expected immediate in range 1 .. 32
52*9880d681SAndroid Build Coastguard Worker  ext $2, $3, 1, 33        # CHECK: :[[@LINE]]:18: error: expected immediate in range 1 .. 32
53*9880d681SAndroid Build Coastguard Worker  ins $2, $3, -1, 31       # CHECK: :[[@LINE]]:15: error: expected 5-bit unsigned immediate
54*9880d681SAndroid Build Coastguard Worker  ins $2, $3, 32, 31       # CHECK: :[[@LINE]]:15: error: expected 5-bit unsigned immediate
55*9880d681SAndroid Build Coastguard Worker  dalign  $4, $2, $3, -1   # CHECK: :[[@LINE]]:23: error: expected 3-bit unsigned immediate
56*9880d681SAndroid Build Coastguard Worker  dalign  $4, $2, $3, 8    # CHECK: :[[@LINE]]:23: error: expected 3-bit unsigned immediate
57*9880d681SAndroid Build Coastguard Worker  lbu16 $9, 8($16)         # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
58*9880d681SAndroid Build Coastguard Worker  lbu16 $3, -2($16)        # CHECK: :[[@LINE]]:{{[0-9]+}}: error: immediate operand value out of range
59*9880d681SAndroid Build Coastguard Worker  lbu16 $3, -2($16)        # CHECK: :[[@LINE]]:{{[0-9]+}}: error: immediate operand value out of range
60*9880d681SAndroid Build Coastguard Worker  lbu16 $16, 8($9)         # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
61*9880d681SAndroid Build Coastguard Worker  lhu16 $9, 4($16)         # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
62*9880d681SAndroid Build Coastguard Worker  lhu16 $3, 64($16)        # CHECK: :[[@LINE]]:{{[0-9]+}}: error: immediate operand value out of range
63*9880d681SAndroid Build Coastguard Worker  lhu16 $3, 64($16)        # CHECK: :[[@LINE]]:{{[0-9]+}}: error: immediate operand value out of range
64*9880d681SAndroid Build Coastguard Worker  lhu16 $16, 4($9)         # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
65*9880d681SAndroid Build Coastguard Worker  li16 $4, -2              # CHECK: :[[@LINE]]:12: error: expected immediate in range -1 .. 126
66*9880d681SAndroid Build Coastguard Worker  li16 $4, 127             # CHECK: :[[@LINE]]:12: error: expected immediate in range -1 .. 126
67*9880d681SAndroid Build Coastguard Worker  lsa   $4, $2, $3, 0      # CHECK: :[[@LINE]]:21: error: expected immediate in range 1 .. 4
68*9880d681SAndroid Build Coastguard Worker  lsa   $4, $2, $3, 5      # CHECK: :[[@LINE]]:21: error: expected immediate in range 1 .. 4
69*9880d681SAndroid Build Coastguard Worker  lw16  $9, 8($17)         # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
70*9880d681SAndroid Build Coastguard Worker  lw16  $4, 68($17)        # CHECK: :[[@LINE]]:{{[0-9]+}}: error: immediate operand value out of range
71*9880d681SAndroid Build Coastguard Worker  lw16  $4, 68($17)        # CHECK: :[[@LINE]]:{{[0-9]+}}: error: immediate operand value out of range
72*9880d681SAndroid Build Coastguard Worker  lw16  $17, 8($10)        # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
73*9880d681SAndroid Build Coastguard Worker  ddiv $32, $4, $5         # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
74*9880d681SAndroid Build Coastguard Worker  ddiv $3, $34, $5         # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
75*9880d681SAndroid Build Coastguard Worker  ddiv $3, $4, $35         # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
76*9880d681SAndroid Build Coastguard Worker  dmod $32, $4, $5         # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
77*9880d681SAndroid Build Coastguard Worker  dmod $3, $34, $5         # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
78*9880d681SAndroid Build Coastguard Worker  dmod $3, $4, $35         # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
79*9880d681SAndroid Build Coastguard Worker  ddivu $32, $4, $5        # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
80*9880d681SAndroid Build Coastguard Worker  ddivu $3, $34, $5        # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
81*9880d681SAndroid Build Coastguard Worker  ddivu $3, $4, $35        # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
82*9880d681SAndroid Build Coastguard Worker  dmodu $32, $4, $5        # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
83*9880d681SAndroid Build Coastguard Worker  dmodu $3, $34, $5        # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
84*9880d681SAndroid Build Coastguard Worker  dmodu $3, $4, $35        # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
85*9880d681SAndroid Build Coastguard Worker  pref -1, 255($7)         # CHECK: :[[@LINE]]:8: error: expected 5-bit unsigned immediate
86*9880d681SAndroid Build Coastguard Worker  pref 32, 255($7)         # CHECK: :[[@LINE]]:8: error: expected 5-bit unsigned immediate
87*9880d681SAndroid Build Coastguard Worker  teq $34, $9, 5           # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
88*9880d681SAndroid Build Coastguard Worker  teq $8, $35, 6           # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
89*9880d681SAndroid Build Coastguard Worker  tge $34, $9, 5           # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
90*9880d681SAndroid Build Coastguard Worker  tge $8, $35, 6           # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
91*9880d681SAndroid Build Coastguard Worker  tgeu $34, $9, 5          # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
92*9880d681SAndroid Build Coastguard Worker  tgeu $8, $35, 6          # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
93*9880d681SAndroid Build Coastguard Worker  tlt $34, $9, 5           # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
94*9880d681SAndroid Build Coastguard Worker  tlt $8, $35, 6           # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
95*9880d681SAndroid Build Coastguard Worker  tltu $34, $9, 5          # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
96*9880d681SAndroid Build Coastguard Worker  tltu $8, $35, 6          # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
97*9880d681SAndroid Build Coastguard Worker  tne $34, $9, 5           # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
98*9880d681SAndroid Build Coastguard Worker  tne $8, $35, 6           # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
99*9880d681SAndroid Build Coastguard Worker  wrpgpr $34, $4           # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
100*9880d681SAndroid Build Coastguard Worker  wrpgpr $3, $33           # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
101*9880d681SAndroid Build Coastguard Worker  wsbh $34, $4             # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
102*9880d681SAndroid Build Coastguard Worker  wsbh $3, $33             # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
103*9880d681SAndroid Build Coastguard Worker  jrcaddiusp 1             # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected both 7-bit unsigned immediate and multiple of 4
104*9880d681SAndroid Build Coastguard Worker  jrcaddiusp 2             # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected both 7-bit unsigned immediate and multiple of 4
105*9880d681SAndroid Build Coastguard Worker  jrcaddiusp 3             # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected both 7-bit unsigned immediate and multiple of 4
106*9880d681SAndroid Build Coastguard Worker  jrcaddiusp 10            # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected both 7-bit unsigned immediate and multiple of 4
107*9880d681SAndroid Build Coastguard Worker  jrcaddiusp 18            # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected both 7-bit unsigned immediate and multiple of 4
108*9880d681SAndroid Build Coastguard Worker  jrcaddiusp 31            # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected both 7-bit unsigned immediate and multiple of 4
109*9880d681SAndroid Build Coastguard Worker  jrcaddiusp 33            # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected both 7-bit unsigned immediate and multiple of 4
110*9880d681SAndroid Build Coastguard Worker  jrcaddiusp 125           # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected both 7-bit unsigned immediate and multiple of 4
111*9880d681SAndroid Build Coastguard Worker  jrcaddiusp 128           # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected both 7-bit unsigned immediate and multiple of 4
112*9880d681SAndroid Build Coastguard Worker  jrcaddiusp 132           # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected both 7-bit unsigned immediate and multiple of 4
113*9880d681SAndroid Build Coastguard Worker  lwm16 $5, $6, $ra, 8($sp)   # CHECK: :[[@LINE]]:{{[0-9]+}}: error: $16 or $31 expected
114*9880d681SAndroid Build Coastguard Worker  lwm16 $16, $19, $ra, 8($sp) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: consecutive register numbers expected
115*9880d681SAndroid Build Coastguard Worker  lwm16 $16-$25, $ra, 8($sp)  # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid register operand
116*9880d681SAndroid Build Coastguard Worker  lwm16 $16, 8($sp)           # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
117*9880d681SAndroid Build Coastguard Worker  lwm16 $16, $17, 8($sp)      # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
118*9880d681SAndroid Build Coastguard Worker  lwm16 $16-$20, 8($sp)       # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
119*9880d681SAndroid Build Coastguard Worker  lwm16 $16, $17, $ra, 8($fp)  # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
120*9880d681SAndroid Build Coastguard Worker  lwm16 $16, $17, $ra, 64($sp) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
121*9880d681SAndroid Build Coastguard Worker  sb16 $9, 4($16)          # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
122*9880d681SAndroid Build Coastguard Worker  sb16 $3, 64($16)         # CHECK: :[[@LINE]]:{{[0-9]+}}: error: immediate operand value out of range
123*9880d681SAndroid Build Coastguard Worker  sb16 $16, 4($16)         # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
124*9880d681SAndroid Build Coastguard Worker  sb16 $7, 4($9)           # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
125*9880d681SAndroid Build Coastguard Worker  sh16  $9, 8($17)         # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
126*9880d681SAndroid Build Coastguard Worker  sh16  $4, 68($17)        # CHECK: :[[@LINE]]:{{[0-9]+}}: error: immediate operand value out of range
127*9880d681SAndroid Build Coastguard Worker  sh16  $16, 8($17)        # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
128*9880d681SAndroid Build Coastguard Worker  sh16  $7, 8($9)          # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
129*9880d681SAndroid Build Coastguard Worker  sw16  $9, 4($17)         # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
130*9880d681SAndroid Build Coastguard Worker  sw16  $4, 64($17)        # CHECK: :[[@LINE]]:{{[0-9]+}}: error: immediate operand value out of range
131*9880d681SAndroid Build Coastguard Worker  sw16  $16, 4($17)        # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
132*9880d681SAndroid Build Coastguard Worker  sw16  $7, 4($10)         # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
133*9880d681SAndroid Build Coastguard Worker  swm16 $5, $6, $ra, 8($sp)   # CHECK: :[[@LINE]]:{{[0-9]+}}: error: $16 or $31 expected
134*9880d681SAndroid Build Coastguard Worker  swm16 $16, $19, $ra, 8($sp) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: consecutive register numbers expected
135*9880d681SAndroid Build Coastguard Worker  swm16 $16-$25, $ra, 8($sp)  # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid register operand
136*9880d681SAndroid Build Coastguard Worker  swm16 $16, 8($sp)           # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
137*9880d681SAndroid Build Coastguard Worker  swm16 $16, $17, 8($sp)      # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
138*9880d681SAndroid Build Coastguard Worker  swm16 $16-$20, 8($sp)       # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
139*9880d681SAndroid Build Coastguard Worker  swm16 $16, $17, $ra, 8($fp)  # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
140*9880d681SAndroid Build Coastguard Worker  swm16 $16, $17, $ra, 64($sp) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
141*9880d681SAndroid Build Coastguard Worker  mtc0  $4, $3, -1             # CHECK: :[[@LINE]]:17: error: expected 3-bit unsigned immediate
142*9880d681SAndroid Build Coastguard Worker  mtc0  $4, $3, 8              # CHECK: :[[@LINE]]:17: error: expected 3-bit unsigned immediate
143*9880d681SAndroid Build Coastguard Worker  mthc0 $4, $3, -1             # CHECK: :[[@LINE]]:17: error: expected 3-bit unsigned immediate
144*9880d681SAndroid Build Coastguard Worker  mthc0 $4, $3, 8              # CHECK: :[[@LINE]]:17: error: expected 3-bit unsigned immediate
145*9880d681SAndroid Build Coastguard Worker  dmtc0  $4, $3, -1            # CHECK: :[[@LINE]]:18: error: expected 3-bit unsigned immediate
146*9880d681SAndroid Build Coastguard Worker  dmtc0  $4, $3, 8             # CHECK: :[[@LINE]]:18: error: expected 3-bit unsigned immediate
147*9880d681SAndroid Build Coastguard Worker  dmfc0  $4, $3, -1            # CHECK: :[[@LINE]]:18: error: expected 3-bit unsigned immediate
148*9880d681SAndroid Build Coastguard Worker  dmfc0  $4, $3, 8             # CHECK: :[[@LINE]]:18: error: expected 3-bit unsigned immediate
149*9880d681SAndroid Build Coastguard Worker  tlbp $3                      # CHECK: :[[@LINE]]:8: error: invalid operand for instruction
150*9880d681SAndroid Build Coastguard Worker  tlbp 5                       # CHECK: :[[@LINE]]:8: error: invalid operand for instruction
151*9880d681SAndroid Build Coastguard Worker  tlbp $4, 6                   # CHECK: :[[@LINE]]:8: error: invalid operand for instruction
152*9880d681SAndroid Build Coastguard Worker  tlbr $3                      # CHECK: :[[@LINE]]:8: error: invalid operand for instruction
153*9880d681SAndroid Build Coastguard Worker  tlbr 5                       # CHECK: :[[@LINE]]:8: error: invalid operand for instruction
154*9880d681SAndroid Build Coastguard Worker  tlbr $4, 6                   # CHECK: :[[@LINE]]:8: error: invalid operand for instruction
155*9880d681SAndroid Build Coastguard Worker  tlbwi $3                     # CHECK: :[[@LINE]]:9: error: invalid operand for instruction
156*9880d681SAndroid Build Coastguard Worker  tlbwi 5                      # CHECK: :[[@LINE]]:9: error: invalid operand for instruction
157*9880d681SAndroid Build Coastguard Worker  tlbwi $4, 6                  # CHECK: :[[@LINE]]:9: error: invalid operand for instruction
158*9880d681SAndroid Build Coastguard Worker  tlbwr $3                     # CHECK: :[[@LINE]]:9: error: invalid operand for instruction
159*9880d681SAndroid Build Coastguard Worker  tlbwr 5                      # CHECK: :[[@LINE]]:9: error: invalid operand for instruction
160*9880d681SAndroid Build Coastguard Worker  tlbwr $4, 6                  # CHECK: :[[@LINE]]:9: error: invalid operand for instruction
161*9880d681SAndroid Build Coastguard Worker  dvp 3                        # CHECK: :[[@LINE]]:7: error: invalid operand for instruction
162*9880d681SAndroid Build Coastguard Worker  dvp $4, 5                    # CHECK: :[[@LINE]]:11: error: invalid operand for instruction
163*9880d681SAndroid Build Coastguard Worker  evp 3                        # CHECK: :[[@LINE]]:7: error: invalid operand for instruction
164*9880d681SAndroid Build Coastguard Worker  evp $4, 5                    # CHECK: :[[@LINE]]:11: error: invalid operand for instruction
165*9880d681SAndroid Build Coastguard Worker  jalrc.hb $31                 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: source and destination must be different
166*9880d681SAndroid Build Coastguard Worker  jalrc.hb $31, $31            # CHECK: :[[@LINE]]:{{[0-9]+}}: error: source and destination must be different
167*9880d681SAndroid Build Coastguard Worker  sll $4, $3, -1               # CHECK: :[[@LINE]]:15: error: expected 5-bit unsigned immediate
168*9880d681SAndroid Build Coastguard Worker  sll $4, $3, 32               # CHECK: :[[@LINE]]:15: error: expected 5-bit unsigned immediate
169*9880d681SAndroid Build Coastguard Worker  sra $4, $3, -1               # CHECK: :[[@LINE]]:15: error: expected 5-bit unsigned immediate
170*9880d681SAndroid Build Coastguard Worker  sra $4, $3, 32               # CHECK: :[[@LINE]]:15: error: expected 5-bit unsigned immediate
171*9880d681SAndroid Build Coastguard Worker  srl $4, $3, -1               # CHECK: :[[@LINE]]:15: error: expected 5-bit unsigned immediate
172*9880d681SAndroid Build Coastguard Worker  srl $4, $3, 32               # CHECK: :[[@LINE]]:15: error: expected 5-bit unsigned immediate
173*9880d681SAndroid Build Coastguard Worker  sll $3, -1                   # CHECK: :[[@LINE]]:11: error: expected 5-bit unsigned immediate
174*9880d681SAndroid Build Coastguard Worker  sll $3, 32                   # CHECK: :[[@LINE]]:11: error: expected 5-bit unsigned immediate
175*9880d681SAndroid Build Coastguard Worker  sra $3, -1                   # CHECK: :[[@LINE]]:11: error: expected 5-bit unsigned immediate
176*9880d681SAndroid Build Coastguard Worker  sra $3, 32                   # CHECK: :[[@LINE]]:11: error: expected 5-bit unsigned immediate
177*9880d681SAndroid Build Coastguard Worker  srl $3, -1                   # CHECK: :[[@LINE]]:11: error: expected 5-bit unsigned immediate
178*9880d681SAndroid Build Coastguard Worker  srl $3, 32                   # CHECK: :[[@LINE]]:11: error: expected 5-bit unsigned immediate
179*9880d681SAndroid Build Coastguard Worker  dneg $7, 5                   # CHECK: :[[@LINE]]:12: error: invalid operand for instruction
180*9880d681SAndroid Build Coastguard Worker  dneg 4                       # CHECK: :[[@LINE]]:8: error: invalid operand for instruction
181*9880d681SAndroid Build Coastguard Worker  dnegu $1, 3                  # CHECK: :[[@LINE]]:13: error: invalid operand for instruction
182*9880d681SAndroid Build Coastguard Worker  dnegu 7                      # CHECK: :[[@LINE]]:9: error: invalid operand for instruction
183*9880d681SAndroid Build Coastguard Worker  lle $33, 8($5)               # CHECK: :[[@LINE]]:7: error: invalid operand for instruction
184*9880d681SAndroid Build Coastguard Worker  lle $4, 8($33)               # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
185*9880d681SAndroid Build Coastguard Worker  lle $4, 512($5)              # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
186*9880d681SAndroid Build Coastguard Worker  lle $4, -513($5)             # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
187*9880d681SAndroid Build Coastguard Worker  lwe $33, 8($5)               # CHECK: :[[@LINE]]:7: error: invalid operand for instruction
188*9880d681SAndroid Build Coastguard Worker  lwe $4, 8($33)               # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
189*9880d681SAndroid Build Coastguard Worker  lwe $4, 512($5)              # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
190*9880d681SAndroid Build Coastguard Worker  lwe $4, -513($5)             # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
191*9880d681SAndroid Build Coastguard Worker  sbe $33, 8($5)               # CHECK: :[[@LINE]]:7: error: invalid operand for instruction
192*9880d681SAndroid Build Coastguard Worker  sbe $4, 8($33)               # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
193*9880d681SAndroid Build Coastguard Worker  sbe $4, 512($5)              # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
194*9880d681SAndroid Build Coastguard Worker  sbe $4, -513($5)             # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
195*9880d681SAndroid Build Coastguard Worker  sce $33, 8($5)               # CHECK: :[[@LINE]]:7: error: invalid operand for instruction
196*9880d681SAndroid Build Coastguard Worker  sce $4, 8($33)               # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
197*9880d681SAndroid Build Coastguard Worker  sce $4, 512($5)              # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
198*9880d681SAndroid Build Coastguard Worker  sce $4, -513($5)             # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
199*9880d681SAndroid Build Coastguard Worker  she $33, 8($5)               # CHECK: :[[@LINE]]:7: error: invalid operand for instruction
200*9880d681SAndroid Build Coastguard Worker  she $4, 8($33)               # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
201*9880d681SAndroid Build Coastguard Worker  she $4, 512($5)              # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
202*9880d681SAndroid Build Coastguard Worker  she $4, -513($5)             # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
203*9880d681SAndroid Build Coastguard Worker  swe $33, 8($4)               # CHECK: :[[@LINE]]:7: error: invalid operand for instruction
204*9880d681SAndroid Build Coastguard Worker  swe $5, 8($34)               # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
205*9880d681SAndroid Build Coastguard Worker  swe $5, 512($4)              # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
206*9880d681SAndroid Build Coastguard Worker  swe $5, -513($4)             # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
207*9880d681SAndroid Build Coastguard Worker  lh $33, 8($4)                # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
208*9880d681SAndroid Build Coastguard Worker  lhe $34, 8($2)               # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
209*9880d681SAndroid Build Coastguard Worker  lhu $35, 8($2)               # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
210*9880d681SAndroid Build Coastguard Worker  lhue $36, 8($2)              # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
211*9880d681SAndroid Build Coastguard Worker  lh $2, 8($34)                # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 16-bit signed offset
212*9880d681SAndroid Build Coastguard Worker  lhe $4, 8($33)               # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 9-bit signed offset
213*9880d681SAndroid Build Coastguard Worker  lhu $4, 8($35)               # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 16-bit signed offset
214*9880d681SAndroid Build Coastguard Worker  lhue $4, 8($37)              # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 9-bit signed offset
215*9880d681SAndroid Build Coastguard Worker  lh $2, -65536($4)            # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 16-bit signed offset
216*9880d681SAndroid Build Coastguard Worker  lh $2, 65536($4)             # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 16-bit signed offset
217*9880d681SAndroid Build Coastguard Worker  lhe $4, -512($2)             # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 9-bit signed offset
218*9880d681SAndroid Build Coastguard Worker  lhe $4, 512($2)              # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 9-bit signed offset
219*9880d681SAndroid Build Coastguard Worker  lhu $4, -65536($2)           # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 16-bit signed offset
220*9880d681SAndroid Build Coastguard Worker  lhu $4, 65536($2)            # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 16-bit signed offset
221*9880d681SAndroid Build Coastguard Worker  lhue $4, -512($2)            # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 9-bit signed offset
222*9880d681SAndroid Build Coastguard Worker  lhue $4, 512($2)             # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 9-bit signed offset
223*9880d681SAndroid Build Coastguard Worker  lwm32 $5, $6, 8($4)          # CHECK: :[[@LINE]]:{{[0-9]+}}: error: $16 or $31 expected
224*9880d681SAndroid Build Coastguard Worker  lwm32 $16, $19, 8($4)        # CHECK: :[[@LINE]]:{{[0-9]+}}: error: consecutive register numbers expected
225*9880d681SAndroid Build Coastguard Worker  lwm32 $16-$25, 8($4)         # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid register operand
226*9880d681SAndroid Build Coastguard Worker  lwm32 $16, $17, $18, $19, $20, $21, $22, $23, $24, 8($4) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid register operand
227*9880d681SAndroid Build Coastguard Worker  movep $5, $6, $2, $9         # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
228*9880d681SAndroid Build Coastguard Worker  movep $5, $6, $5, $3         # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
229*9880d681SAndroid Build Coastguard Worker  movep $5, $21, $2, $3        # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
230*9880d681SAndroid Build Coastguard Worker  movep $8, $6, $2, $3         # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
231*9880d681SAndroid Build Coastguard Worker  rotr $2, -1                  # CHECK: :[[@LINE]]:12: error: expected 5-bit unsigned immediate
232*9880d681SAndroid Build Coastguard Worker  rotr $2, 32                  # CHECK: :[[@LINE]]:12: error: expected 5-bit unsigned immediate
233*9880d681SAndroid Build Coastguard Worker  rotr $2, $3, -1              # CHECK: :[[@LINE]]:16: error: expected 5-bit unsigned immediate
234*9880d681SAndroid Build Coastguard Worker  rotr $2, $3, 32              # CHECK: :[[@LINE]]:16: error: expected 5-bit unsigned immediate
235*9880d681SAndroid Build Coastguard Worker  rotrv $9, $6, 5              # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
236*9880d681SAndroid Build Coastguard Worker  swm32 $5, $6, 8($4)          # CHECK: :[[@LINE]]:{{[0-9]+}}: error: $16 or $31 expected
237*9880d681SAndroid Build Coastguard Worker  swm32 $16, $19, 8($4)        # CHECK: :[[@LINE]]:{{[0-9]+}}: error: consecutive register numbers expected
238*9880d681SAndroid Build Coastguard Worker  swm32 $16-$25, 8($4)         # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid register operand
239*9880d681SAndroid Build Coastguard Worker  lwp $31, 8($4)               # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
240*9880d681SAndroid Build Coastguard Worker                               # FIXME: This ought to point at the $34 but memory is treated as one operand.
241*9880d681SAndroid Build Coastguard Worker  lwp $16, 8($34)              # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 12-bit signed offset
242*9880d681SAndroid Build Coastguard Worker  lwp $16, 4096($4)            # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 12-bit signed offset
243*9880d681SAndroid Build Coastguard Worker  lwp $16, 8($16)              # CHECK: :[[@LINE]]:{{[0-9]+}}: error: source and destination must be different
244*9880d681SAndroid Build Coastguard Worker  swp $31, 8($4)               # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
245*9880d681SAndroid Build Coastguard Worker  swp $16, 8($34)              # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 12-bit signed offset
246*9880d681SAndroid Build Coastguard Worker  swp $16, 4096($4)            # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 12-bit signed offset
247*9880d681SAndroid Build Coastguard Worker  dsll $3, $4, 64              # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected 6-bit unsigned immediate
248*9880d681SAndroid Build Coastguard Worker  dsll $3, $4, -1              # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected 6-bit unsigned immediate
249*9880d681SAndroid Build Coastguard Worker  dsll32 $3, $4, 32            # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected 5-bit unsigned immediate
250*9880d681SAndroid Build Coastguard Worker  dsll32 $3, $4, -1            # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected 5-bit unsigned immediate
251*9880d681SAndroid Build Coastguard Worker  dsra $4, $5, 64              # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected 6-bit unsigned immediate
252*9880d681SAndroid Build Coastguard Worker  dsra $4, $5, -1              # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected 6-bit unsigned immediate
253*9880d681SAndroid Build Coastguard Worker  dsra32 $4, $5, 32            # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected 5-bit unsigned immediate
254*9880d681SAndroid Build Coastguard Worker  dsra32 $4, $5, -1            # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected 5-bit unsigned immediate
255*9880d681SAndroid Build Coastguard Worker                               # bposge32 is microMIPS DSP instruction
256*9880d681SAndroid Build Coastguard Worker  bposge32 342                 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
257*9880d681SAndroid Build Coastguard Worker  bc1eqzc $f32, 4              # CHECK: :[[@LINE]]:11: error: invalid operand for instruction
258*9880d681SAndroid Build Coastguard Worker  bc1eqzc $f31, -65535         # CHECK: :[[@LINE]]:{{[0-9]+}}: error: branch to misaligned address
259*9880d681SAndroid Build Coastguard Worker  bc1eqzc $f31, -65537         # CHECK: :[[@LINE]]:{{[0-9]+}}: error: branch target out of range
260*9880d681SAndroid Build Coastguard Worker  bc1eqzc $f31, 65535          # CHECK: :[[@LINE]]:{{[0-9]+}}: error: branch to misaligned address
261*9880d681SAndroid Build Coastguard Worker  bc1eqzc $f31, 65536          # CHECK: :[[@LINE]]:{{[0-9]+}}: error: branch target out of range
262*9880d681SAndroid Build Coastguard Worker  bc1nezc $f32, 4              # CHECK: :[[@LINE]]:11: error: invalid operand for instruction
263*9880d681SAndroid Build Coastguard Worker  bc1nezc $f31, -65535         # CHECK: :[[@LINE]]:{{[0-9]+}}: error: branch to misaligned address
264*9880d681SAndroid Build Coastguard Worker  bc1nezc $f31, -65537         # CHECK: :[[@LINE]]:{{[0-9]+}}: error: branch target out of range
265*9880d681SAndroid Build Coastguard Worker  bc1nezc $f31, 65535          # CHECK: :[[@LINE]]:{{[0-9]+}}: error: branch to misaligned address
266*9880d681SAndroid Build Coastguard Worker  bc1nezc $f31, 65536          # CHECK: :[[@LINE]]:{{[0-9]+}}: error: branch target out of range
267*9880d681SAndroid Build Coastguard Worker  bc2eqzc $32, 4               # CHECK: :[[@LINE]]:11: error: invalid operand for instruction
268*9880d681SAndroid Build Coastguard Worker  bc2eqzc $31, -65535          # CHECK: :[[@LINE]]:{{[0-9]+}}: error: branch to misaligned address
269*9880d681SAndroid Build Coastguard Worker  bc2eqzc $31, -65537          # CHECK: :[[@LINE]]:{{[0-9]+}}: error: branch target out of range
270*9880d681SAndroid Build Coastguard Worker  bc2eqzc $31, 65535           # CHECK: :[[@LINE]]:{{[0-9]+}}: error: branch to misaligned address
271*9880d681SAndroid Build Coastguard Worker  bc2eqzc $31, 65536           # CHECK: :[[@LINE]]:{{[0-9]+}}: error: branch target out of range
272*9880d681SAndroid Build Coastguard Worker  bc2nezc $32, 4               # CHECK: :[[@LINE]]:11: error: invalid operand for instruction
273*9880d681SAndroid Build Coastguard Worker  bc2nezc $31, -65535          # CHECK: :[[@LINE]]:{{[0-9]+}}: error: branch to misaligned address
274*9880d681SAndroid Build Coastguard Worker  bc2nezc $31, -65537          # CHECK: :[[@LINE]]:{{[0-9]+}}: error: branch target out of range
275*9880d681SAndroid Build Coastguard Worker  bc2nezc $31, 65535           # CHECK: :[[@LINE]]:{{[0-9]+}}: error: branch to misaligned address
276*9880d681SAndroid Build Coastguard Worker  bc2nezc $31, 65536           # CHECK: :[[@LINE]]:{{[0-9]+}}: error: branch target out of range
277*9880d681SAndroid Build Coastguard Worker  andi $3, $4, -1              # CHECK: :[[@LINE]]:16: error: expected 16-bit unsigned immediate
278*9880d681SAndroid Build Coastguard Worker  andi $3, $4, 65536           # CHECK: :[[@LINE]]:16: error: expected 16-bit unsigned immediate
279*9880d681SAndroid Build Coastguard Worker  andi $3, -1                  # CHECK: :[[@LINE]]:12: error: expected 16-bit unsigned immediate
280*9880d681SAndroid Build Coastguard Worker  andi $3, 65536               # CHECK: :[[@LINE]]:12: error: expected 16-bit unsigned immediate
281*9880d681SAndroid Build Coastguard Worker  ori $3, $4, -1               # CHECK: :[[@LINE]]:15: error: expected 16-bit unsigned immediate
282*9880d681SAndroid Build Coastguard Worker  ori $3, $4, 65536            # CHECK: :[[@LINE]]:15: error: expected 16-bit unsigned immediate
283*9880d681SAndroid Build Coastguard Worker  ori $3, -1                   # CHECK: :[[@LINE]]:11: error: expected 16-bit unsigned immediate
284*9880d681SAndroid Build Coastguard Worker  ori $3, 65536                # CHECK: :[[@LINE]]:11: error: expected 16-bit unsigned immediate
285*9880d681SAndroid Build Coastguard Worker  xori $3, $4, -1              # CHECK: :[[@LINE]]:16: error: expected 16-bit unsigned immediate
286*9880d681SAndroid Build Coastguard Worker  xori $3, $4, 65536           # CHECK: :[[@LINE]]:16: error: expected 16-bit unsigned immediate
287*9880d681SAndroid Build Coastguard Worker  xori $3, -1                  # CHECK: :[[@LINE]]:12: error: expected 16-bit unsigned immediate
288*9880d681SAndroid Build Coastguard Worker  xori $3, 65536               # CHECK: :[[@LINE]]:12: error: expected 16-bit unsigned immediate
289*9880d681SAndroid Build Coastguard Worker  not $3, 4                    # CHECK: :[[@LINE]]:11: error: invalid operand for instruction
290*9880d681SAndroid Build Coastguard Worker  drotr $5, $10, 64            # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected 6-bit unsigned immediate
291*9880d681SAndroid Build Coastguard Worker  drotr $5, $10, -1            # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected 6-bit unsigned immediate
292*9880d681SAndroid Build Coastguard Worker  drotr32 $1, $2, 32           # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected 5-bit unsigned immediate
293*9880d681SAndroid Build Coastguard Worker  drotr32 $1, $2, -1           # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected 5-bit unsigned immediate
294*9880d681SAndroid Build Coastguard Worker  ld $31, 65536($31)           # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 16-bit signed offset
295*9880d681SAndroid Build Coastguard Worker  ld $31, 32768($31)           # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 16-bit signed offset
296*9880d681SAndroid Build Coastguard Worker  ld $31, -32769($31)          # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 16-bit signed offset
297*9880d681SAndroid Build Coastguard Worker  sd $31, 65536($31)           # CHECK: :[[@LINE]]:11: error: expected memory with 16-bit signed offset
298*9880d681SAndroid Build Coastguard Worker  sd $31, 32768($31)           # CHECK: :[[@LINE]]:11: error: expected memory with 16-bit signed offset
299*9880d681SAndroid Build Coastguard Worker  sd $31, -32769($31)          # CHECK: :[[@LINE]]:11: error: expected memory with 16-bit signed offset
300*9880d681SAndroid Build Coastguard Worker  lb $32, 8($5)                # CHECK: :[[@LINE]]:6: error: invalid operand for instruction
301*9880d681SAndroid Build Coastguard Worker  lb $4, -32769($5)            # CHECK: :[[@LINE]]:10: error: expected memory with 16-bit signed offset
302*9880d681SAndroid Build Coastguard Worker  lb $4, 32768($5)             # CHECK: :[[@LINE]]:10: error: expected memory with 16-bit signed offset
303*9880d681SAndroid Build Coastguard Worker  lb $4, 8($32)                # CHECK: :[[@LINE]]:10: error: expected memory with 16-bit signed offset
304*9880d681SAndroid Build Coastguard Worker  lbu $32, 8($5)               # CHECK: :[[@LINE]]:7: error: invalid operand for instruction
305*9880d681SAndroid Build Coastguard Worker  lbu $4, -32769($5)           # CHECK: :[[@LINE]]:11: error: expected memory with 16-bit signed offset
306*9880d681SAndroid Build Coastguard Worker  lbu $4, 32768($5)            # CHECK: :[[@LINE]]:11: error: expected memory with 16-bit signed offset
307*9880d681SAndroid Build Coastguard Worker  lbu $4, 8($32)               # CHECK: :[[@LINE]]:11: error: expected memory with 16-bit signed offset
308*9880d681SAndroid Build Coastguard Worker  ldc1 $f32, 300($10)          # CHECK: :[[@LINE]]:8: error: invalid operand for instruction
309*9880d681SAndroid Build Coastguard Worker  ldc1 $f7, -32769($10)        # CHECK: :[[@LINE]]:13: error: expected memory with 16-bit signed offset
310*9880d681SAndroid Build Coastguard Worker  ldc1 $f7, 32768($10)         # CHECK: :[[@LINE]]:13: error: expected memory with 16-bit signed offset
311*9880d681SAndroid Build Coastguard Worker  ldc1 $f7, 300($32)           # CHECK: :[[@LINE]]:13: error: expected memory with 16-bit signed offset
312*9880d681SAndroid Build Coastguard Worker  sdc1 $f32, 64($10)           # CHECK: :[[@LINE]]:8: error: invalid operand for instruction
313*9880d681SAndroid Build Coastguard Worker  sdc1 $f7, -32769($10)        # CHECK: :[[@LINE]]:13: error: expected memory with 16-bit signed offset
314*9880d681SAndroid Build Coastguard Worker  sdc1 $f7, 32768($10)         # CHECK: :[[@LINE]]:13: error: expected memory with 16-bit signed offset
315*9880d681SAndroid Build Coastguard Worker  sdc1 $f7, 64($32)            # CHECK: :[[@LINE]]:13: error: expected memory with 16-bit signed offset
316*9880d681SAndroid Build Coastguard Worker  lwc1 $f32, 32($5)            # CHECK: :[[@LINE]]:8: error: invalid operand for instruction
317*9880d681SAndroid Build Coastguard Worker  lwc1 $f2, -32769($5)         # CHECK: :[[@LINE]]:13: error: expected memory with 16-bit signed offset
318*9880d681SAndroid Build Coastguard Worker  lwc1 $f2, 32768($5)          # CHECK: :[[@LINE]]:13: error: expected memory with 16-bit signed offset
319*9880d681SAndroid Build Coastguard Worker  lwc1 $f2, 32($32)            # CHECK: :[[@LINE]]:13: error: expected memory with 16-bit signed offset
320*9880d681SAndroid Build Coastguard Worker  swc1 $f32, 369($13)          # CHECK: :[[@LINE]]:8: error: invalid operand for instruction
321*9880d681SAndroid Build Coastguard Worker  swc1 $f6, -32769($13)        # CHECK: :[[@LINE]]:13: error: expected memory with 16-bit signed offset
322*9880d681SAndroid Build Coastguard Worker  swc1 $f6, 32768($13)         # CHECK: :[[@LINE]]:13: error: expected memory with 16-bit signed offset
323*9880d681SAndroid Build Coastguard Worker  swc1 $f6, 369($32)           # CHECK: :[[@LINE]]:13: error: expected memory with 16-bit signed offset
324*9880d681SAndroid Build Coastguard Worker  ldc2 $32, 1023($12)          # CHECK: :[[@LINE]]:8: error: invalid operand for instruction
325*9880d681SAndroid Build Coastguard Worker  sdc2 $32, 8($16)             # CHECK: :[[@LINE]]:8: error: invalid operand for instruction
326*9880d681SAndroid Build Coastguard Worker  lwc2 $32, 16($4)             # CHECK: :[[@LINE]]:8: error: invalid operand for instruction
327*9880d681SAndroid Build Coastguard Worker  swc2 $32, 777($17)           # CHECK: :[[@LINE]]:8: error: invalid operand for instruction
328