aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ppc64/xmon
diff options
context:
space:
mode:
authorAl Viro <viro@www.linux.org.uk>2005-04-26 10:43:41 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-26 10:43:41 -0400
commit66768eb26c471091dc4ea1ed59b4bab7edc3d7bd (patch)
treeb6e9c650228c037d62ae56021fd6c064c1cb8160 /arch/ppc64/xmon
parent0d3e8fe662c31d614f809d0131e134e2692d6a68 (diff)
[PATCH] ppc-opc NULL noise removal
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/ppc64/xmon')
-rw-r--r--arch/ppc64/xmon/ppc-opc.c119
1 files changed, 60 insertions, 59 deletions
diff --git a/arch/ppc64/xmon/ppc-opc.c b/arch/ppc64/xmon/ppc-opc.c
index 1e4e7e319970..5ee8fc32f824 100644
--- a/arch/ppc64/xmon/ppc-opc.c
+++ b/arch/ppc64/xmon/ppc-opc.c
@@ -20,6 +20,7 @@
20 Software Foundation, 59 Temple Place - Suite 330, Boston, MA 20 Software Foundation, 59 Temple Place - Suite 330, Boston, MA
21 02111-1307, USA. */ 21 02111-1307, USA. */
22 22
23#include <linux/stddef.h>
23#include "nonstdio.h" 24#include "nonstdio.h"
24#include "ppc.h" 25#include "ppc.h"
25 26
@@ -110,12 +111,12 @@ const struct powerpc_operand powerpc_operands[] =
110 /* The zero index is used to indicate the end of the list of 111 /* The zero index is used to indicate the end of the list of
111 operands. */ 112 operands. */
112#define UNUSED 0 113#define UNUSED 0
113 { 0, 0, 0, 0, 0 }, 114 { 0, 0, NULL, NULL, 0 },
114 115
115 /* The BA field in an XL form instruction. */ 116 /* The BA field in an XL form instruction. */
116#define BA UNUSED + 1 117#define BA UNUSED + 1
117#define BA_MASK (0x1f << 16) 118#define BA_MASK (0x1f << 16)
118 { 5, 16, 0, 0, PPC_OPERAND_CR }, 119 { 5, 16, NULL, NULL, PPC_OPERAND_CR },
119 120
120 /* The BA field in an XL form instruction when it must be the same 121 /* The BA field in an XL form instruction when it must be the same
121 as the BT field in the same instruction. */ 122 as the BT field in the same instruction. */
@@ -125,7 +126,7 @@ const struct powerpc_operand powerpc_operands[] =
125 /* The BB field in an XL form instruction. */ 126 /* The BB field in an XL form instruction. */
126#define BB BAT + 1 127#define BB BAT + 1
127#define BB_MASK (0x1f << 11) 128#define BB_MASK (0x1f << 11)
128 { 5, 11, 0, 0, PPC_OPERAND_CR }, 129 { 5, 11, NULL, NULL, PPC_OPERAND_CR },
129 130
130 /* The BB field in an XL form instruction when it must be the same 131 /* The BB field in an XL form instruction when it must be the same
131 as the BA field in the same instruction. */ 132 as the BA field in the same instruction. */
@@ -168,21 +169,21 @@ const struct powerpc_operand powerpc_operands[] =
168 169
169 /* The BF field in an X or XL form instruction. */ 170 /* The BF field in an X or XL form instruction. */
170#define BF BDPA + 1 171#define BF BDPA + 1
171 { 3, 23, 0, 0, PPC_OPERAND_CR }, 172 { 3, 23, NULL, NULL, PPC_OPERAND_CR },
172 173
173 /* An optional BF field. This is used for comparison instructions, 174 /* An optional BF field. This is used for comparison instructions,
174 in which an omitted BF field is taken as zero. */ 175 in which an omitted BF field is taken as zero. */
175#define OBF BF + 1 176#define OBF BF + 1
176 { 3, 23, 0, 0, PPC_OPERAND_CR | PPC_OPERAND_OPTIONAL }, 177 { 3, 23, NULL, NULL, PPC_OPERAND_CR | PPC_OPERAND_OPTIONAL },
177 178
178 /* The BFA field in an X or XL form instruction. */ 179 /* The BFA field in an X or XL form instruction. */
179#define BFA OBF + 1 180#define BFA OBF + 1
180 { 3, 18, 0, 0, PPC_OPERAND_CR }, 181 { 3, 18, NULL, NULL, PPC_OPERAND_CR },
181 182
182 /* The BI field in a B form or XL form instruction. */ 183 /* The BI field in a B form or XL form instruction. */
183#define BI BFA + 1 184#define BI BFA + 1
184#define BI_MASK (0x1f << 16) 185#define BI_MASK (0x1f << 16)
185 { 5, 16, 0, 0, PPC_OPERAND_CR }, 186 { 5, 16, NULL, NULL, PPC_OPERAND_CR },
186 187
187 /* The BO field in a B form instruction. Certain values are 188 /* The BO field in a B form instruction. Certain values are
188 illegal. */ 189 illegal. */
@@ -197,36 +198,36 @@ const struct powerpc_operand powerpc_operands[] =
197 198
198 /* The BT field in an X or XL form instruction. */ 199 /* The BT field in an X or XL form instruction. */
199#define BT BOE + 1 200#define BT BOE + 1
200 { 5, 21, 0, 0, PPC_OPERAND_CR }, 201 { 5, 21, NULL, NULL, PPC_OPERAND_CR },
201 202
202 /* The condition register number portion of the BI field in a B form 203 /* The condition register number portion of the BI field in a B form
203 or XL form instruction. This is used for the extended 204 or XL form instruction. This is used for the extended
204 conditional branch mnemonics, which set the lower two bits of the 205 conditional branch mnemonics, which set the lower two bits of the
205 BI field. This field is optional. */ 206 BI field. This field is optional. */
206#define CR BT + 1 207#define CR BT + 1
207 { 3, 18, 0, 0, PPC_OPERAND_CR | PPC_OPERAND_OPTIONAL }, 208 { 3, 18, NULL, NULL, PPC_OPERAND_CR | PPC_OPERAND_OPTIONAL },
208 209
209 /* The CRB field in an X form instruction. */ 210 /* The CRB field in an X form instruction. */
210#define CRB CR + 1 211#define CRB CR + 1
211 { 5, 6, 0, 0, 0 }, 212 { 5, 6, NULL, NULL, 0 },
212 213
213 /* The CRFD field in an X form instruction. */ 214 /* The CRFD field in an X form instruction. */
214#define CRFD CRB + 1 215#define CRFD CRB + 1
215 { 3, 23, 0, 0, PPC_OPERAND_CR }, 216 { 3, 23, NULL, NULL, PPC_OPERAND_CR },
216 217
217 /* The CRFS field in an X form instruction. */ 218 /* The CRFS field in an X form instruction. */
218#define CRFS CRFD + 1 219#define CRFS CRFD + 1
219 { 3, 0, 0, 0, PPC_OPERAND_CR }, 220 { 3, 0, NULL, NULL, PPC_OPERAND_CR },
220 221
221 /* The CT field in an X form instruction. */ 222 /* The CT field in an X form instruction. */
222#define CT CRFS + 1 223#define CT CRFS + 1
223 { 5, 21, 0, 0, PPC_OPERAND_OPTIONAL }, 224 { 5, 21, NULL, NULL, PPC_OPERAND_OPTIONAL },
224 225
225 /* The D field in a D form instruction. This is a displacement off 226 /* The D field in a D form instruction. This is a displacement off
226 a register, and implies that the next operand is a register in 227 a register, and implies that the next operand is a register in
227 parentheses. */ 228 parentheses. */
228#define D CT + 1 229#define D CT + 1
229 { 16, 0, 0, 0, PPC_OPERAND_PARENS | PPC_OPERAND_SIGNED }, 230 { 16, 0, NULL, NULL, PPC_OPERAND_PARENS | PPC_OPERAND_SIGNED },
230 231
231 /* The DE field in a DE form instruction. This is like D, but is 12 232 /* The DE field in a DE form instruction. This is like D, but is 12
232 bits only. */ 233 bits only. */
@@ -252,40 +253,40 @@ const struct powerpc_operand powerpc_operands[] =
252 253
253 /* The E field in a wrteei instruction. */ 254 /* The E field in a wrteei instruction. */
254#define E DS + 1 255#define E DS + 1
255 { 1, 15, 0, 0, 0 }, 256 { 1, 15, NULL, NULL, 0 },
256 257
257 /* The FL1 field in a POWER SC form instruction. */ 258 /* The FL1 field in a POWER SC form instruction. */
258#define FL1 E + 1 259#define FL1 E + 1
259 { 4, 12, 0, 0, 0 }, 260 { 4, 12, NULL, NULL, 0 },
260 261
261 /* The FL2 field in a POWER SC form instruction. */ 262 /* The FL2 field in a POWER SC form instruction. */
262#define FL2 FL1 + 1 263#define FL2 FL1 + 1
263 { 3, 2, 0, 0, 0 }, 264 { 3, 2, NULL, NULL, 0 },
264 265
265 /* The FLM field in an XFL form instruction. */ 266 /* The FLM field in an XFL form instruction. */
266#define FLM FL2 + 1 267#define FLM FL2 + 1
267 { 8, 17, 0, 0, 0 }, 268 { 8, 17, NULL, NULL, 0 },
268 269
269 /* The FRA field in an X or A form instruction. */ 270 /* The FRA field in an X or A form instruction. */
270#define FRA FLM + 1 271#define FRA FLM + 1
271#define FRA_MASK (0x1f << 16) 272#define FRA_MASK (0x1f << 16)
272 { 5, 16, 0, 0, PPC_OPERAND_FPR }, 273 { 5, 16, NULL, NULL, PPC_OPERAND_FPR },
273 274
274 /* The FRB field in an X or A form instruction. */ 275 /* The FRB field in an X or A form instruction. */
275#define FRB FRA + 1 276#define FRB FRA + 1
276#define FRB_MASK (0x1f << 11) 277#define FRB_MASK (0x1f << 11)
277 { 5, 11, 0, 0, PPC_OPERAND_FPR }, 278 { 5, 11, NULL, NULL, PPC_OPERAND_FPR },
278 279
279 /* The FRC field in an A form instruction. */ 280 /* The FRC field in an A form instruction. */
280#define FRC FRB + 1 281#define FRC FRB + 1
281#define FRC_MASK (0x1f << 6) 282#define FRC_MASK (0x1f << 6)
282 { 5, 6, 0, 0, PPC_OPERAND_FPR }, 283 { 5, 6, NULL, NULL, PPC_OPERAND_FPR },
283 284
284 /* The FRS field in an X form instruction or the FRT field in a D, X 285 /* The FRS field in an X form instruction or the FRT field in a D, X
285 or A form instruction. */ 286 or A form instruction. */
286#define FRS FRC + 1 287#define FRS FRC + 1
287#define FRT FRS 288#define FRT FRS
288 { 5, 21, 0, 0, PPC_OPERAND_FPR }, 289 { 5, 21, NULL, NULL, PPC_OPERAND_FPR },
289 290
290 /* The FXM field in an XFX instruction. */ 291 /* The FXM field in an XFX instruction. */
291#define FXM FRS + 1 292#define FXM FRS + 1
@@ -298,11 +299,11 @@ const struct powerpc_operand powerpc_operands[] =
298 299
299 /* The L field in a D or X form instruction. */ 300 /* The L field in a D or X form instruction. */
300#define L FXM4 + 1 301#define L FXM4 + 1
301 { 1, 21, 0, 0, PPC_OPERAND_OPTIONAL }, 302 { 1, 21, NULL, NULL, PPC_OPERAND_OPTIONAL },
302 303
303 /* The LEV field in a POWER SC form instruction. */ 304 /* The LEV field in a POWER SC form instruction. */
304#define LEV L + 1 305#define LEV L + 1
305 { 7, 5, 0, 0, 0 }, 306 { 7, 5, NULL, NULL, 0 },
306 307
307 /* The LI field in an I form instruction. The lower two bits are 308 /* The LI field in an I form instruction. The lower two bits are
308 forced to zero. */ 309 forced to zero. */
@@ -316,24 +317,24 @@ const struct powerpc_operand powerpc_operands[] =
316 317
317 /* The LS field in an X (sync) form instruction. */ 318 /* The LS field in an X (sync) form instruction. */
318#define LS LIA + 1 319#define LS LIA + 1
319 { 2, 21, 0, 0, PPC_OPERAND_OPTIONAL }, 320 { 2, 21, NULL, NULL, PPC_OPERAND_OPTIONAL },
320 321
321 /* The MB field in an M form instruction. */ 322 /* The MB field in an M form instruction. */
322#define MB LS + 1 323#define MB LS + 1
323#define MB_MASK (0x1f << 6) 324#define MB_MASK (0x1f << 6)
324 { 5, 6, 0, 0, 0 }, 325 { 5, 6, NULL, NULL, 0 },
325 326
326 /* The ME field in an M form instruction. */ 327 /* The ME field in an M form instruction. */
327#define ME MB + 1 328#define ME MB + 1
328#define ME_MASK (0x1f << 1) 329#define ME_MASK (0x1f << 1)
329 { 5, 1, 0, 0, 0 }, 330 { 5, 1, NULL, NULL, 0 },
330 331
331 /* The MB and ME fields in an M form instruction expressed a single 332 /* The MB and ME fields in an M form instruction expressed a single
332 operand which is a bitmask indicating which bits to select. This 333 operand which is a bitmask indicating which bits to select. This
333 is a two operand form using PPC_OPERAND_NEXT. See the 334 is a two operand form using PPC_OPERAND_NEXT. See the
334 description in opcode/ppc.h for what this means. */ 335 description in opcode/ppc.h for what this means. */
335#define MBE ME + 1 336#define MBE ME + 1
336 { 5, 6, 0, 0, PPC_OPERAND_OPTIONAL | PPC_OPERAND_NEXT }, 337 { 5, 6, NULL, NULL, PPC_OPERAND_OPTIONAL | PPC_OPERAND_NEXT },
337 { 32, 0, insert_mbe, extract_mbe, 0 }, 338 { 32, 0, insert_mbe, extract_mbe, 0 },
338 339
339 /* The MB or ME field in an MD or MDS form instruction. The high 340 /* The MB or ME field in an MD or MDS form instruction. The high
@@ -345,7 +346,7 @@ const struct powerpc_operand powerpc_operands[] =
345 346
346 /* The MO field in an mbar instruction. */ 347 /* The MO field in an mbar instruction. */
347#define MO MB6 + 1 348#define MO MB6 + 1
348 { 5, 21, 0, 0, 0 }, 349 { 5, 21, NULL, NULL, 0 },
349 350
350 /* The NB field in an X form instruction. The value 32 is stored as 351 /* The NB field in an X form instruction. The value 32 is stored as
351 0. */ 352 0. */
@@ -361,34 +362,34 @@ const struct powerpc_operand powerpc_operands[] =
361 /* The RA field in an D, DS, DQ, X, XO, M, or MDS form instruction. */ 362 /* The RA field in an D, DS, DQ, X, XO, M, or MDS form instruction. */
362#define RA NSI + 1 363#define RA NSI + 1
363#define RA_MASK (0x1f << 16) 364#define RA_MASK (0x1f << 16)
364 { 5, 16, 0, 0, PPC_OPERAND_GPR }, 365 { 5, 16, NULL, NULL, PPC_OPERAND_GPR },
365 366
366 /* The RA field in the DQ form lq instruction, which has special 367 /* The RA field in the DQ form lq instruction, which has special
367 value restrictions. */ 368 value restrictions. */
368#define RAQ RA + 1 369#define RAQ RA + 1
369 { 5, 16, insert_raq, 0, PPC_OPERAND_GPR }, 370 { 5, 16, insert_raq, NULL, PPC_OPERAND_GPR },
370 371
371 /* The RA field in a D or X form instruction which is an updating 372 /* The RA field in a D or X form instruction which is an updating
372 load, which means that the RA field may not be zero and may not 373 load, which means that the RA field may not be zero and may not
373 equal the RT field. */ 374 equal the RT field. */
374#define RAL RAQ + 1 375#define RAL RAQ + 1
375 { 5, 16, insert_ral, 0, PPC_OPERAND_GPR }, 376 { 5, 16, insert_ral, NULL, PPC_OPERAND_GPR },
376 377
377 /* The RA field in an lmw instruction, which has special value 378 /* The RA field in an lmw instruction, which has special value
378 restrictions. */ 379 restrictions. */
379#define RAM RAL + 1 380#define RAM RAL + 1
380 { 5, 16, insert_ram, 0, PPC_OPERAND_GPR }, 381 { 5, 16, insert_ram, NULL, PPC_OPERAND_GPR },
381 382
382 /* The RA field in a D or X form instruction which is an updating 383 /* The RA field in a D or X form instruction which is an updating
383 store or an updating floating point load, which means that the RA 384 store or an updating floating point load, which means that the RA
384 field may not be zero. */ 385 field may not be zero. */
385#define RAS RAM + 1 386#define RAS RAM + 1
386 { 5, 16, insert_ras, 0, PPC_OPERAND_GPR }, 387 { 5, 16, insert_ras, NULL, PPC_OPERAND_GPR },
387 388
388 /* The RB field in an X, XO, M, or MDS form instruction. */ 389 /* The RB field in an X, XO, M, or MDS form instruction. */
389#define RB RAS + 1 390#define RB RAS + 1
390#define RB_MASK (0x1f << 11) 391#define RB_MASK (0x1f << 11)
391 { 5, 11, 0, 0, PPC_OPERAND_GPR }, 392 { 5, 11, NULL, NULL, PPC_OPERAND_GPR },
392 393
393 /* The RB field in an X form instruction when it must be the same as 394 /* The RB field in an X form instruction when it must be the same as
394 the RS field in the instruction. This is used for extended 395 the RS field in the instruction. This is used for extended
@@ -402,22 +403,22 @@ const struct powerpc_operand powerpc_operands[] =
402#define RS RBS + 1 403#define RS RBS + 1
403#define RT RS 404#define RT RS
404#define RT_MASK (0x1f << 21) 405#define RT_MASK (0x1f << 21)
405 { 5, 21, 0, 0, PPC_OPERAND_GPR }, 406 { 5, 21, NULL, NULL, PPC_OPERAND_GPR },
406 407
407 /* The RS field of the DS form stq instruction, which has special 408 /* The RS field of the DS form stq instruction, which has special
408 value restrictions. */ 409 value restrictions. */
409#define RSQ RS + 1 410#define RSQ RS + 1
410 { 5, 21, insert_rsq, 0, PPC_OPERAND_GPR }, 411 { 5, 21, insert_rsq, NULL, PPC_OPERAND_GPR },
411 412
412 /* The RT field of the DQ form lq instruction, which has special 413 /* The RT field of the DQ form lq instruction, which has special
413 value restrictions. */ 414 value restrictions. */
414#define RTQ RSQ + 1 415#define RTQ RSQ + 1
415 { 5, 21, insert_rtq, 0, PPC_OPERAND_GPR }, 416 { 5, 21, insert_rtq, NULL, PPC_OPERAND_GPR },
416 417
417 /* The SH field in an X or M form instruction. */ 418 /* The SH field in an X or M form instruction. */
418#define SH RTQ + 1 419#define SH RTQ + 1
419#define SH_MASK (0x1f << 11) 420#define SH_MASK (0x1f << 11)
420 { 5, 11, 0, 0, 0 }, 421 { 5, 11, NULL, NULL, 0 },
421 422
422 /* The SH field in an MD form instruction. This is split. */ 423 /* The SH field in an MD form instruction. This is split. */
423#define SH6 SH + 1 424#define SH6 SH + 1
@@ -426,12 +427,12 @@ const struct powerpc_operand powerpc_operands[] =
426 427
427 /* The SI field in a D form instruction. */ 428 /* The SI field in a D form instruction. */
428#define SI SH6 + 1 429#define SI SH6 + 1
429 { 16, 0, 0, 0, PPC_OPERAND_SIGNED }, 430 { 16, 0, NULL, NULL, PPC_OPERAND_SIGNED },
430 431
431 /* The SI field in a D form instruction when we accept a wide range 432 /* The SI field in a D form instruction when we accept a wide range
432 of positive values. */ 433 of positive values. */
433#define SISIGNOPT SI + 1 434#define SISIGNOPT SI + 1
434 { 16, 0, 0, 0, PPC_OPERAND_SIGNED | PPC_OPERAND_SIGNOPT }, 435 { 16, 0, NULL, NULL, PPC_OPERAND_SIGNED | PPC_OPERAND_SIGNOPT },
435 436
436 /* The SPR field in an XFX form instruction. This is flipped--the 437 /* The SPR field in an XFX form instruction. This is flipped--the
437 lower 5 bits are stored in the upper 5 and vice- versa. */ 438 lower 5 bits are stored in the upper 5 and vice- versa. */
@@ -443,25 +444,25 @@ const struct powerpc_operand powerpc_operands[] =
443 /* The BAT index number in an XFX form m[ft]ibat[lu] instruction. */ 444 /* The BAT index number in an XFX form m[ft]ibat[lu] instruction. */
444#define SPRBAT SPR + 1 445#define SPRBAT SPR + 1
445#define SPRBAT_MASK (0x3 << 17) 446#define SPRBAT_MASK (0x3 << 17)
446 { 2, 17, 0, 0, 0 }, 447 { 2, 17, NULL, NULL, 0 },
447 448
448 /* The SPRG register number in an XFX form m[ft]sprg instruction. */ 449 /* The SPRG register number in an XFX form m[ft]sprg instruction. */
449#define SPRG SPRBAT + 1 450#define SPRG SPRBAT + 1
450#define SPRG_MASK (0x3 << 16) 451#define SPRG_MASK (0x3 << 16)
451 { 2, 16, 0, 0, 0 }, 452 { 2, 16, NULL, NULL, 0 },
452 453
453 /* The SR field in an X form instruction. */ 454 /* The SR field in an X form instruction. */
454#define SR SPRG + 1 455#define SR SPRG + 1
455 { 4, 16, 0, 0, 0 }, 456 { 4, 16, NULL, NULL, 0 },
456 457
457 /* The STRM field in an X AltiVec form instruction. */ 458 /* The STRM field in an X AltiVec form instruction. */
458#define STRM SR + 1 459#define STRM SR + 1
459#define STRM_MASK (0x3 << 21) 460#define STRM_MASK (0x3 << 21)
460 { 2, 21, 0, 0, 0 }, 461 { 2, 21, NULL, NULL, 0 },
461 462
462 /* The SV field in a POWER SC form instruction. */ 463 /* The SV field in a POWER SC form instruction. */
463#define SV STRM + 1 464#define SV STRM + 1
464 { 14, 2, 0, 0, 0 }, 465 { 14, 2, NULL, NULL, 0 },
465 466
466 /* The TBR field in an XFX form instruction. This is like the SPR 467 /* The TBR field in an XFX form instruction. This is like the SPR
467 field, but it is optional. */ 468 field, but it is optional. */
@@ -471,52 +472,52 @@ const struct powerpc_operand powerpc_operands[] =
471 /* The TO field in a D or X form instruction. */ 472 /* The TO field in a D or X form instruction. */
472#define TO TBR + 1 473#define TO TBR + 1
473#define TO_MASK (0x1f << 21) 474#define TO_MASK (0x1f << 21)
474 { 5, 21, 0, 0, 0 }, 475 { 5, 21, NULL, NULL, 0 },
475 476
476 /* The U field in an X form instruction. */ 477 /* The U field in an X form instruction. */
477#define U TO + 1 478#define U TO + 1
478 { 4, 12, 0, 0, 0 }, 479 { 4, 12, NULL, NULL, 0 },
479 480
480 /* The UI field in a D form instruction. */ 481 /* The UI field in a D form instruction. */
481#define UI U + 1 482#define UI U + 1
482 { 16, 0, 0, 0, 0 }, 483 { 16, 0, NULL, NULL, 0 },
483 484
484 /* The VA field in a VA, VX or VXR form instruction. */ 485 /* The VA field in a VA, VX or VXR form instruction. */
485#define VA UI + 1 486#define VA UI + 1
486#define VA_MASK (0x1f << 16) 487#define VA_MASK (0x1f << 16)
487 { 5, 16, 0, 0, PPC_OPERAND_VR }, 488 { 5, 16, NULL, NULL, PPC_OPERAND_VR },
488 489
489 /* The VB field in a VA, VX or VXR form instruction. */ 490 /* The VB field in a VA, VX or VXR form instruction. */
490#define VB VA + 1 491#define VB VA + 1
491#define VB_MASK (0x1f << 11) 492#define VB_MASK (0x1f << 11)
492 { 5, 11, 0, 0, PPC_OPERAND_VR }, 493 { 5, 11, NULL, NULL, PPC_OPERAND_VR },
493 494
494 /* The VC field in a VA form instruction. */ 495 /* The VC field in a VA form instruction. */
495#define VC VB + 1 496#define VC VB + 1
496#define VC_MASK (0x1f << 6) 497#define VC_MASK (0x1f << 6)
497 { 5, 6, 0, 0, PPC_OPERAND_VR }, 498 { 5, 6, NULL, NULL, PPC_OPERAND_VR },
498 499
499 /* The VD or VS field in a VA, VX, VXR or X form instruction. */ 500 /* The VD or VS field in a VA, VX, VXR or X form instruction. */
500#define VD VC + 1 501#define VD VC + 1
501#define VS VD 502#define VS VD
502#define VD_MASK (0x1f << 21) 503#define VD_MASK (0x1f << 21)
503 { 5, 21, 0, 0, PPC_OPERAND_VR }, 504 { 5, 21, NULL, NULL, PPC_OPERAND_VR },
504 505
505 /* The SIMM field in a VX form instruction. */ 506 /* The SIMM field in a VX form instruction. */
506#define SIMM VD + 1 507#define SIMM VD + 1
507 { 5, 16, 0, 0, PPC_OPERAND_SIGNED}, 508 { 5, 16, NULL, NULL, PPC_OPERAND_SIGNED},
508 509
509 /* The UIMM field in a VX form instruction. */ 510 /* The UIMM field in a VX form instruction. */
510#define UIMM SIMM + 1 511#define UIMM SIMM + 1
511 { 5, 16, 0, 0, 0 }, 512 { 5, 16, NULL, NULL, 0 },
512 513
513 /* The SHB field in a VA form instruction. */ 514 /* The SHB field in a VA form instruction. */
514#define SHB UIMM + 1 515#define SHB UIMM + 1
515 { 4, 6, 0, 0, 0 }, 516 { 4, 6, NULL, NULL, 0 },
516 517
517 /* The other UIMM field in a EVX form instruction. */ 518 /* The other UIMM field in a EVX form instruction. */
518#define EVUIMM SHB + 1 519#define EVUIMM SHB + 1
519 { 5, 11, 0, 0, 0 }, 520 { 5, 11, NULL, NULL, 0 },
520 521
521 /* The other UIMM field in a half word EVX form instruction. */ 522 /* The other UIMM field in a half word EVX form instruction. */
522#define EVUIMM_2 EVUIMM + 1 523#define EVUIMM_2 EVUIMM + 1
@@ -533,11 +534,11 @@ const struct powerpc_operand powerpc_operands[] =
533 /* The WS field. */ 534 /* The WS field. */
534#define WS EVUIMM_8 + 1 535#define WS EVUIMM_8 + 1
535#define WS_MASK (0x7 << 11) 536#define WS_MASK (0x7 << 11)
536 { 3, 11, 0, 0, 0 }, 537 { 3, 11, NULL, NULL, 0 },
537 538
538 /* The L field in an mtmsrd instruction */ 539 /* The L field in an mtmsrd instruction */
539#define MTMSRD_L WS + 1 540#define MTMSRD_L WS + 1
540 { 1, 16, 0, 0, PPC_OPERAND_OPTIONAL }, 541 { 1, 16, NULL, NULL, PPC_OPERAND_OPTIONAL },
541 542
542}; 543};
543 544