Blame opcodes/ia64-opc-i.c

Packit Service 706eca
/* ia64-opc-i.c -- IA-64 `I' opcode table.
Packit Service 706eca
   Copyright (C) 1998-2018 Free Software Foundation, Inc.
Packit Service 706eca
   Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
Packit Service 706eca
Packit Service 706eca
   This file is part of the GNU opcodes library.
Packit Service 706eca
Packit Service 706eca
   This library is free software; you can redistribute it and/or modify
Packit Service 706eca
   it under the terms of the GNU General Public License as published by
Packit Service 706eca
   the Free Software Foundation; either version 3, or (at your option)
Packit Service 706eca
   any later version.
Packit Service 706eca
Packit Service 706eca
   It is distributed in the hope that it will be useful, but WITHOUT
Packit Service 706eca
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
Packit Service 706eca
   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
Packit Service 706eca
   License for more details.
Packit Service 706eca
Packit Service 706eca
   You should have received a copy of the GNU General Public License
Packit Service 706eca
   along with this file; see the file COPYING.  If not, write to the
Packit Service 706eca
   Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston,
Packit Service 706eca
   MA 02110-1301, USA.  */
Packit Service 706eca
Packit Service 706eca
#include "ia64-opc.h"
Packit Service 706eca
Packit Service 706eca
#define I0	IA64_TYPE_I, 0
Packit Service 706eca
#define I	IA64_TYPE_I, 1
Packit Service 706eca
#define I2	IA64_TYPE_I, 2
Packit Service 706eca
Packit Service 706eca
/* instruction bit fields: */
Packit Service 706eca
#define bC(x)		(((ia64_insn) ((x) & 0x1)) << 12)
Packit Service 706eca
#define bIh(x)		(((ia64_insn) ((x) & 0x1)) << 23)
Packit Service 706eca
#define bTa(x)		(((ia64_insn) ((x) & 0x1)) << 33)
Packit Service 706eca
#define bTag13(x)	(((ia64_insn) ((x) & 0x1)) << 33)
Packit Service 706eca
#define bTb(x)		(((ia64_insn) ((x) & 0x1)) << 36)
Packit Service 706eca
#define bVc(x)		(((ia64_insn) ((x) & 0x1)) << 20)
Packit Service 706eca
#define bVe(x)		(((ia64_insn) ((x) & 0x1)) << 32)
Packit Service 706eca
#define bWh(x)		(((ia64_insn) ((x) & 0x3)) << 20)
Packit Service 706eca
#define bX(x)		(((ia64_insn) ((x) & 0x1)) << 33)
Packit Service 706eca
#define bXb(x)		(((ia64_insn) ((x) & 0x1)) << 22)
Packit Service 706eca
#define bXc(x)		(((ia64_insn) ((x) & 0x1)) << 19)
Packit Service 706eca
#define bX2(x)		(((ia64_insn) ((x) & 0x3)) << 34)
Packit Service 706eca
#define bX2a(x)		(((ia64_insn) ((x) & 0x3)) << 34)
Packit Service 706eca
#define bX2b(x)		(((ia64_insn) ((x) & 0x3)) << 28)
Packit Service 706eca
#define bX2c(x)		(((ia64_insn) ((x) & 0x3)) << 30)
Packit Service 706eca
#define bX3(x)		(((ia64_insn) ((x) & 0x7)) << 33)
Packit Service 706eca
#define bX6(x)		(((ia64_insn) ((x) & 0x3f)) << 27)
Packit Service 706eca
#define bYa(x)		(((ia64_insn) ((x) & 0x1)) << 13)
Packit Service 706eca
#define bYb(x)		(((ia64_insn) ((x) & 0x1)) << 26)
Packit Service 706eca
#define bZa(x)		(((ia64_insn) ((x) & 0x1)) << 36)
Packit Service 706eca
#define bZb(x)		(((ia64_insn) ((x) & 0x1)) << 33)
Packit Service 706eca
Packit Service 706eca
/* instruction bit masks: */
Packit Service 706eca
#define mC	bC (-1)
Packit Service 706eca
#define mIh	bIh (-1)
Packit Service 706eca
#define mTa	bTa (-1)
Packit Service 706eca
#define mTag13	bTag13 (-1)
Packit Service 706eca
#define mTb	bTb (-1)
Packit Service 706eca
#define mVc	bVc (-1)
Packit Service 706eca
#define mVe	bVe (-1)
Packit Service 706eca
#define mWh	bWh (-1)
Packit Service 706eca
#define mX	bX (-1)
Packit Service 706eca
#define mXb	bXb (-1)
Packit Service 706eca
#define mXc	bXc (-1)
Packit Service 706eca
#define mX2	bX2 (-1)
Packit Service 706eca
#define mX2a	bX2a (-1)
Packit Service 706eca
#define mX2b	bX2b (-1)
Packit Service 706eca
#define mX2c	bX2c (-1)
Packit Service 706eca
#define mX3	bX3 (-1)
Packit Service 706eca
#define mX6	bX6 (-1)
Packit Service 706eca
#define mYa	bYa (-1)
Packit Service 706eca
#define mYb	bYb (-1)
Packit Service 706eca
#define mZa	bZa (-1)
Packit Service 706eca
#define mZb	bZb (-1)
Packit Service 706eca
Packit Service 706eca
#define OpZaZbVeX2aX2b(a,b,c,d,e,f) \
Packit Service 706eca
	(bOp (a) | bZa (b) | bZb (c) | bVe (d) | bX2a (e) | bX2b (f)), \
Packit Service 706eca
	(mOp | mZa | mZb | mVe | mX2a | mX2b)
Packit Service 706eca
#define OpZaZbVeX2aX2bX2c(a,b,c,d,e,f,g) \
Packit Service 706eca
  (bOp (a) | bZa (b) | bZb (c) | bVe (d) | bX2a (e) | bX2b (f) | bX2c (g)), \
Packit Service 706eca
	(mOp | mZa | mZb | mVe | mX2a | mX2b | mX2c)
Packit Service 706eca
#define OpX2X(a,b,c)		(bOp (a) | bX2 (b) | bX (c)), (mOp | mX2 | mX)
Packit Service 706eca
#define OpX2XYa(a,b,c,d)	(bOp (a) | bX2 (b) | bX (c) | bYa (d)), \
Packit Service 706eca
				(mOp | mX2 | mX | mYa)
Packit Service 706eca
#define OpX2XYb(a,b,c,d)	(bOp (a) | bX2 (b) | bX (c) | bYb (d)), \
Packit Service 706eca
				(mOp | mX2 | mX | mYb)
Packit Service 706eca
#define OpX2TaTbYaC(a,b,c,d,e,f) \
Packit Service 706eca
	(bOp (a) | bX2 (b) | bTa (c) | bTb (d) | bYa (e) | bC (f)), \
Packit Service 706eca
	(mOp | mX2 | mTa | mTb | mYa | mC)
Packit Service 706eca
#define OpX2TaTbYaXcC(a,b,c,d,e,f,g) \
Packit Service 706eca
	(bOp (a) | bX2 (b) | bTa (c) | bTb (d) | bYa (e) | bXc (f) | bC (g)), \
Packit Service 706eca
	(mOp | mX2 | mTa | mTb | mYa | mXc | mC)
Packit Service 706eca
#define OpX3(a,b)		(bOp (a) | bX3 (b)), (mOp | mX3)
Packit Service 706eca
#define OpX3X6(a,b,c)		(bOp (a) | bX3 (b) | bX6(c)), \
Packit Service 706eca
				(mOp | mX3 | mX6)
Packit Service 706eca
#define OpX3X6Yb(a,b,c,d)	(bOp (a) | bX3 (b) | bX6(c) | bYb(d)), \
Packit Service 706eca
				(mOp | mX3 | mX6 | mYb)
Packit Service 706eca
#define OpX3XbIhWh(a,b,c,d,e) \
Packit Service 706eca
  (bOp (a) | bX3 (b) | bXb (c) | bIh (d) | bWh (e)), \
Packit Service 706eca
  (mOp | mX3 | mXb | mIh | mWh)
Packit Service 706eca
#define OpX3XbIhWhTag13(a,b,c,d,e,f) \
Packit Service 706eca
     (bOp (a) | bX3 (b) | bXb (c) | bIh (d) | bWh (e) | bTag13 (f)), \
Packit Service 706eca
     (mOp | mX3 | mXb | mIh | mWh | mTag13)
Packit Service 706eca
Packit Service 706eca
#define FULL17 ((ia64_insn)0x10ff001fc0LL)
Packit Service 706eca
Packit Service 706eca
/* Used to initialise unused fields in ia64_opcode struct,
Packit Service 706eca
   in order to stop gcc from complaining.  */
Packit Service 706eca
#define EMPTY 0,0,NULL
Packit Service 706eca
Packit Service 706eca
struct ia64_opcode ia64_opcodes_i[] =
Packit Service 706eca
  {
Packit Service 706eca
    /* I-type instruction encodings (sorted according to major opcode).  */
Packit Service 706eca
Packit Service 706eca
    {"break.i",	I0, OpX3X6 (0, 0, 0x00), {IMMU21}, X_IN_MLX, 0, NULL},
Packit Service 706eca
    {"nop.i",	I0, OpX3X6Yb (0, 0, 0x01, 0), {IMMU21}, X_IN_MLX, 0, NULL},
Packit Service 706eca
    {"hint.i",	I0, OpX3X6Yb (0, 0, 0x01, 1), {IMMU21}, X_IN_MLX, 0, NULL},
Packit Service 706eca
    {"chk.s.i",	I0, OpX3 (0, 1), {R2, TGT25b}, EMPTY},
Packit Service 706eca
Packit Service 706eca
    {"mov", I, OpX3XbIhWhTag13 (0, 7, 0, 0, 1, 0), {B1, R2}, PSEUDO, 0, NULL},
Packit Service 706eca
#define MOV(a,b,c,d) \
Packit Service 706eca
    I, OpX3XbIhWh (0, a, b, c, d), {B1, R2, TAG13b}, EMPTY
Packit Service 706eca
    {"mov.sptk",		MOV (7, 0, 0, 0)},
Packit Service 706eca
    {"mov.sptk.imp",		MOV (7, 0, 1, 0)},
Packit Service 706eca
    {"mov",			MOV (7, 0, 0, 1)},
Packit Service 706eca
    {"mov.imp",			MOV (7, 0, 1, 1)},
Packit Service 706eca
    {"mov.dptk",		MOV (7, 0, 0, 2)},
Packit Service 706eca
    {"mov.dptk.imp",		MOV (7, 0, 1, 2)},
Packit Service 706eca
    {"mov.ret.sptk",		MOV (7, 1, 0, 0)},
Packit Service 706eca
    {"mov.ret.sptk.imp",	MOV (7, 1, 1, 0)},
Packit Service 706eca
    {"mov.ret",			MOV (7, 1, 0, 1)},
Packit Service 706eca
    {"mov.ret.imp",		MOV (7, 1, 1, 1)},
Packit Service 706eca
    {"mov.ret.dptk",		MOV (7, 1, 0, 2)},
Packit Service 706eca
    {"mov.ret.dptk.imp",	MOV (7, 1, 1, 2)},
Packit Service 706eca
#undef MOV
Packit Service 706eca
    {"mov",	I, OpX3X6 (0, 0, 0x31), {R1, B2}, EMPTY},
Packit Service 706eca
    {"mov",	I, OpX3 (0, 3), {PR, R2, IMM17}, EMPTY},
Packit Service 706eca
    /* Don't remove one of the seemingly redundant FULL17-s.  */
Packit Service 706eca
    {"mov",	I, FULL17 | OpX3 (0, 3) | FULL17, {PR, R2}, PSEUDO, 0, NULL},
Packit Service 706eca
    {"mov",	I, OpX3 (0, 2), {PR_ROT, IMM44}, EMPTY},
Packit Service 706eca
    {"mov",	I, OpX3X6 (0, 0, 0x30), {R1, IP}, EMPTY},
Packit Service 706eca
    {"mov",	I, OpX3X6 (0, 0, 0x33), {R1, PR}, EMPTY},
Packit Service 706eca
    {"mov.i",	I, OpX3X6 (0, 0, 0x2a), {AR3, R2}, EMPTY},
Packit Service 706eca
    {"mov.i",	I, OpX3X6 (0, 0, 0x0a), {AR3, IMM8}, EMPTY},
Packit Service 706eca
    {"mov.i",	I, OpX3X6 (0, 0, 0x32), {R1, AR3}, EMPTY},
Packit Service 706eca
    {"zxt1",	I, OpX3X6 (0, 0, 0x10), {R1, R3}, EMPTY},
Packit Service 706eca
    {"zxt2",	I, OpX3X6 (0, 0, 0x11), {R1, R3}, EMPTY},
Packit Service 706eca
    {"zxt4",	I, OpX3X6 (0, 0, 0x12), {R1, R3}, EMPTY},
Packit Service 706eca
    {"sxt1",	I, OpX3X6 (0, 0, 0x14), {R1, R3}, EMPTY},
Packit Service 706eca
    {"sxt2",	I, OpX3X6 (0, 0, 0x15), {R1, R3}, EMPTY},
Packit Service 706eca
    {"sxt4",	I, OpX3X6 (0, 0, 0x16), {R1, R3}, EMPTY},
Packit Service 706eca
    {"czx1.l",	I, OpX3X6 (0, 0, 0x18), {R1, R3}, EMPTY},
Packit Service 706eca
    {"czx2.l",	I, OpX3X6 (0, 0, 0x19), {R1, R3}, EMPTY},
Packit Service 706eca
    {"czx1.r",	I, OpX3X6 (0, 0, 0x1c), {R1, R3}, EMPTY},
Packit Service 706eca
    {"czx2.r",	I, OpX3X6 (0, 0, 0x1d), {R1, R3}, EMPTY},
Packit Service 706eca
Packit Service 706eca
    {"dep",	I, Op (4), {R1, R2, R3, CPOS6c, LEN4}, EMPTY},
Packit Service 706eca
Packit Service 706eca
    {"shrp",	I, OpX2X (5, 3, 0), {R1, R2, R3, CNT6}, EMPTY},
Packit Service 706eca
Packit Service 706eca
    {"shr.u",	I, OpX2XYa (5, 1, 0, 0), {R1, R3, POS6},
Packit Service 706eca
     PSEUDO | LEN_EQ_64MCNT, 0, NULL},
Packit Service 706eca
    {"extr.u",	I, OpX2XYa (5, 1, 0, 0), {R1, R3, POS6, LEN6}, EMPTY},
Packit Service 706eca
Packit Service 706eca
    {"shr",	I, OpX2XYa (5, 1, 0, 1), {R1, R3, POS6},
Packit Service 706eca
     PSEUDO | LEN_EQ_64MCNT, 0, NULL},
Packit Service 706eca
    {"extr",	I, OpX2XYa (5, 1, 0, 1), {R1, R3, POS6, LEN6}, EMPTY},
Packit Service 706eca
Packit Service 706eca
    {"shl",	I, OpX2XYb (5, 1, 1, 0), {R1, R2, CPOS6a},
Packit Service 706eca
     PSEUDO | LEN_EQ_64MCNT, 0, NULL},
Packit Service 706eca
    {"dep.z",	I, OpX2XYb (5, 1, 1, 0), {R1, R2, CPOS6a, LEN6}, EMPTY},
Packit Service 706eca
    {"dep.z",	I, OpX2XYb (5, 1, 1, 1), {R1, IMM8, CPOS6a, LEN6}, EMPTY},
Packit Service 706eca
    {"dep",	I, OpX2X (5, 3, 1), {R1, IMM1, R3, CPOS6b, LEN6}, EMPTY},
Packit Service 706eca
#define TF(a,b,c) \
Packit Service 706eca
	I2, OpX2TaTbYaXcC (5, 0, a, b, 1, 1, c), {P1, P2, IMMU5b}, EMPTY
Packit Service 706eca
#define TFCM(a,b,c) \
Packit Service 706eca
	I2, OpX2TaTbYaXcC (5, 0, a, b, 1, 1, c), {P2, P1, IMMU5b}, PSEUDO, 0, NULL
Packit Service 706eca
    {"tf.z",		 TF   (0, 0, 0)},
Packit Service 706eca
    {"tf.nz",		 TFCM (0, 0, 0)},
Packit Service 706eca
    {"tf.z.unc",	 TF   (0, 0, 1)},
Packit Service 706eca
    {"tf.nz.unc",	 TFCM (0, 0, 1)},
Packit Service 706eca
    {"tf.z.and",	 TF   (0, 1, 0)},
Packit Service 706eca
    {"tf.nz.andcm",	 TFCM (0, 1, 0)},
Packit Service 706eca
    {"tf.nz.and",	 TF   (0, 1, 1)},
Packit Service 706eca
    {"tf.z.andcm",	 TFCM (0, 1, 1)},
Packit Service 706eca
    {"tf.z.or",		 TF   (1, 0, 0)},
Packit Service 706eca
    {"tf.nz.orcm",	 TFCM (1, 0, 0)},
Packit Service 706eca
    {"tf.nz.or",	 TF   (1, 0, 1)},
Packit Service 706eca
    {"tf.z.orcm",	 TFCM (1, 0, 1)},
Packit Service 706eca
    {"tf.z.or.andcm",	 TF   (1, 1, 0)},
Packit Service 706eca
    {"tf.nz.and.orcm",	 TFCM (1, 1, 0)},
Packit Service 706eca
    {"tf.nz.or.andcm",	 TF   (1, 1, 1)},
Packit Service 706eca
    {"tf.z.and.orcm",	 TFCM (1, 1, 1)},
Packit Service 706eca
#undef TF
Packit Service 706eca
#undef TFCM
Packit Service 706eca
#define TBIT(a,b,c,d) \
Packit Service 706eca
        I2, OpX2TaTbYaC (5, 0, a, b, c, d), {P1, P2, R3, POS6}, EMPTY
Packit Service 706eca
#define TBITCM(a,b,c,d)	\
Packit Service 706eca
        I2, OpX2TaTbYaC (5, 0, a, b, c, d), {P2, P1, R3, POS6}, PSEUDO, 0, NULL
Packit Service 706eca
    {"tbit.z",		 TBIT   (0, 0, 0, 0)},
Packit Service 706eca
    {"tbit.nz",		 TBITCM (0, 0, 0, 0)},
Packit Service 706eca
    {"tbit.z.unc",	 TBIT   (0, 0, 0, 1)},
Packit Service 706eca
    {"tbit.nz.unc",	 TBITCM (0, 0, 0, 1)},
Packit Service 706eca
    {"tbit.z.and",	 TBIT   (0, 1, 0, 0)},
Packit Service 706eca
    {"tbit.nz.andcm",	 TBITCM (0, 1, 0, 0)},
Packit Service 706eca
    {"tbit.nz.and",	 TBIT   (0, 1, 0, 1)},
Packit Service 706eca
    {"tbit.z.andcm",	 TBITCM (0, 1, 0, 1)},
Packit Service 706eca
    {"tbit.z.or",	 TBIT   (1, 0, 0, 0)},
Packit Service 706eca
    {"tbit.nz.orcm",	 TBITCM (1, 0, 0, 0)},
Packit Service 706eca
    {"tbit.nz.or",	 TBIT   (1, 0, 0, 1)},
Packit Service 706eca
    {"tbit.z.orcm",	 TBITCM (1, 0, 0, 1)},
Packit Service 706eca
    {"tbit.z.or.andcm",	 TBIT   (1, 1, 0, 0)},
Packit Service 706eca
    {"tbit.nz.and.orcm", TBITCM (1, 1, 0, 0)},
Packit Service 706eca
    {"tbit.nz.or.andcm", TBIT   (1, 1, 0, 1)},
Packit Service 706eca
    {"tbit.z.and.orcm",  TBITCM (1, 1, 0, 1)},
Packit Service 706eca
#undef TBIT
Packit Service 706eca
#undef TBITCM
Packit Service 706eca
#define TNAT(a,b,c,d) \
Packit Service 706eca
	I2, OpX2TaTbYaC (5, 0, a, b, c, d), {P1, P2, R3}, EMPTY
Packit Service 706eca
#define TNATCM(a,b,c,d) \
Packit Service 706eca
	I2, OpX2TaTbYaC (5, 0, a, b, c, d), {P2, P1, R3}, PSEUDO, 0, NULL
Packit Service 706eca
    {"tnat.z",		 TNAT   (0, 0, 1, 0)},
Packit Service 706eca
    {"tnat.nz",		 TNATCM (0, 0, 1, 0)},
Packit Service 706eca
    {"tnat.z.unc",	 TNAT   (0, 0, 1, 1)},
Packit Service 706eca
    {"tnat.nz.unc",	 TNATCM (0, 0, 1, 1)},
Packit Service 706eca
    {"tnat.z.and",	 TNAT   (0, 1, 1, 0)},
Packit Service 706eca
    {"tnat.nz.andcm",	 TNATCM (0, 1, 1, 0)},
Packit Service 706eca
    {"tnat.nz.and",	 TNAT   (0, 1, 1, 1)},
Packit Service 706eca
    {"tnat.z.andcm",	 TNATCM (0, 1, 1, 1)},
Packit Service 706eca
    {"tnat.z.or",	 TNAT   (1, 0, 1, 0)},
Packit Service 706eca
    {"tnat.nz.orcm",	 TNATCM (1, 0, 1, 0)},
Packit Service 706eca
    {"tnat.nz.or",	 TNAT   (1, 0, 1, 1)},
Packit Service 706eca
    {"tnat.z.orcm",	 TNATCM (1, 0, 1, 1)},
Packit Service 706eca
    {"tnat.z.or.andcm",	 TNAT   (1, 1, 1, 0)},
Packit Service 706eca
    {"tnat.nz.and.orcm", TNATCM (1, 1, 1, 0)},
Packit Service 706eca
    {"tnat.nz.or.andcm", TNAT   (1, 1, 1, 1)},
Packit Service 706eca
    {"tnat.z.and.orcm",  TNATCM (1, 1, 1, 1)},
Packit Service 706eca
#undef TNAT
Packit Service 706eca
#undef TNATCM
Packit Service 706eca
Packit Service 706eca
    {"pmpyshr2",   I, OpZaZbVeX2aX2b (7, 0, 1, 0, 0, 3), {R1, R2, R3, CNT2c}, EMPTY},
Packit Service 706eca
    {"pmpyshr2.u", I, OpZaZbVeX2aX2b (7, 0, 1, 0, 0, 1), {R1, R2, R3, CNT2c}, EMPTY},
Packit Service 706eca
    {"pmpy2.r",	   I, OpZaZbVeX2aX2bX2c (7, 0, 1, 0, 2, 1, 3), {R1, R2, R3}, EMPTY},
Packit Service 706eca
    {"pmpy2.l",	   I, OpZaZbVeX2aX2bX2c (7, 0, 1, 0, 2, 3, 3), {R1, R2, R3}, EMPTY},
Packit Service 706eca
    {"mix1.r",	   I, OpZaZbVeX2aX2bX2c (7, 0, 0, 0, 2, 0, 2), {R1, R2, R3}, EMPTY},
Packit Service 706eca
    {"mix2.r",	   I, OpZaZbVeX2aX2bX2c (7, 0, 1, 0, 2, 0, 2), {R1, R2, R3}, EMPTY},
Packit Service 706eca
    {"mix4.r",	   I, OpZaZbVeX2aX2bX2c (7, 1, 0, 0, 2, 0, 2), {R1, R2, R3}, EMPTY},
Packit Service 706eca
    {"mix1.l",	   I, OpZaZbVeX2aX2bX2c (7, 0, 0, 0, 2, 2, 2), {R1, R2, R3}, EMPTY},
Packit Service 706eca
    {"mix2.l",	   I, OpZaZbVeX2aX2bX2c (7, 0, 1, 0, 2, 2, 2), {R1, R2, R3}, EMPTY},
Packit Service 706eca
    {"mix4.l",	   I, OpZaZbVeX2aX2bX2c (7, 1, 0, 0, 2, 2, 2), {R1, R2, R3}, EMPTY},
Packit Service 706eca
    {"pack2.uss",  I, OpZaZbVeX2aX2bX2c (7, 0, 1, 0, 2, 0, 0), {R1, R2, R3}, EMPTY},
Packit Service 706eca
    {"pack2.sss",  I, OpZaZbVeX2aX2bX2c (7, 0, 1, 0, 2, 2, 0), {R1, R2, R3}, EMPTY},
Packit Service 706eca
    {"pack4.sss",  I, OpZaZbVeX2aX2bX2c (7, 1, 0, 0, 2, 2, 0), {R1, R2, R3}, EMPTY},
Packit Service 706eca
    {"unpack1.h",  I, OpZaZbVeX2aX2bX2c (7, 0, 0, 0, 2, 0, 1), {R1, R2, R3}, EMPTY},
Packit Service 706eca
    {"unpack2.h",  I, OpZaZbVeX2aX2bX2c (7, 0, 1, 0, 2, 0, 1), {R1, R2, R3}, EMPTY},
Packit Service 706eca
    {"unpack4.h",  I, OpZaZbVeX2aX2bX2c (7, 1, 0, 0, 2, 0, 1), {R1, R2, R3}, EMPTY},
Packit Service 706eca
    {"unpack1.l",  I, OpZaZbVeX2aX2bX2c (7, 0, 0, 0, 2, 2, 1), {R1, R2, R3}, EMPTY},
Packit Service 706eca
    {"unpack2.l",  I, OpZaZbVeX2aX2bX2c (7, 0, 1, 0, 2, 2, 1), {R1, R2, R3}, EMPTY},
Packit Service 706eca
    {"unpack4.l",  I, OpZaZbVeX2aX2bX2c (7, 1, 0, 0, 2, 2, 1), {R1, R2, R3}, EMPTY},
Packit Service 706eca
    {"pmin1.u",	   I, OpZaZbVeX2aX2bX2c (7, 0, 0, 0, 2, 1, 0), {R1, R2, R3}, EMPTY},
Packit Service 706eca
    {"pmax1.u",	   I, OpZaZbVeX2aX2bX2c (7, 0, 0, 0, 2, 1, 1), {R1, R2, R3}, EMPTY},
Packit Service 706eca
    {"pmin2",	   I, OpZaZbVeX2aX2bX2c (7, 0, 1, 0, 2, 3, 0), {R1, R2, R3}, EMPTY},
Packit Service 706eca
    {"pmax2",	   I, OpZaZbVeX2aX2bX2c (7, 0, 1, 0, 2, 3, 1), {R1, R2, R3}, EMPTY},
Packit Service 706eca
    {"psad1",	   I, OpZaZbVeX2aX2bX2c (7, 0, 0, 0, 2, 3, 2), {R1, R2, R3}, EMPTY},
Packit Service 706eca
    {"mux1",    I, OpZaZbVeX2aX2bX2c (7, 0, 0, 0, 3, 2, 2), {R1, R2, MBTYPE4}, EMPTY},
Packit Service 706eca
    {"mux2",    I, OpZaZbVeX2aX2bX2c (7, 0, 1, 0, 3, 2, 2), {R1, R2, MHTYPE8}, EMPTY},
Packit Service 706eca
    {"pshr2",	I, OpZaZbVeX2aX2bX2c (7, 0, 1, 0, 0, 2, 0), {R1, R3, R2}, EMPTY},
Packit Service 706eca
    {"pshr4",	I, OpZaZbVeX2aX2bX2c (7, 1, 0, 0, 0, 2, 0), {R1, R3, R2}, EMPTY},
Packit Service 706eca
    {"shr",	I, OpZaZbVeX2aX2bX2c (7, 1, 1, 0, 0, 2, 0), {R1, R3, R2}, EMPTY},
Packit Service 706eca
    {"pshr2.u",	I, OpZaZbVeX2aX2bX2c (7, 0, 1, 0, 0, 0, 0), {R1, R3, R2}, EMPTY},
Packit Service 706eca
    {"pshr4.u",	I, OpZaZbVeX2aX2bX2c (7, 1, 0, 0, 0, 0, 0), {R1, R3, R2}, EMPTY},
Packit Service 706eca
    {"shr.u",	I, OpZaZbVeX2aX2bX2c (7, 1, 1, 0, 0, 0, 0), {R1, R3, R2}, EMPTY},
Packit Service 706eca
    {"pshr2",	I, OpZaZbVeX2aX2bX2c (7, 0, 1, 0, 1, 3, 0), {R1, R3, CNT5}, EMPTY},
Packit Service 706eca
    {"pshr4",	I, OpZaZbVeX2aX2bX2c (7, 1, 0, 0, 1, 3, 0), {R1, R3, CNT5}, EMPTY},
Packit Service 706eca
    {"pshr2.u",	I, OpZaZbVeX2aX2bX2c (7, 0, 1, 0, 1, 1, 0), {R1, R3, CNT5}, EMPTY},
Packit Service 706eca
    {"pshr4.u",	I, OpZaZbVeX2aX2bX2c (7, 1, 0, 0, 1, 1, 0), {R1, R3, CNT5}, EMPTY},
Packit Service 706eca
    {"pshl2",	I, OpZaZbVeX2aX2bX2c (7, 0, 1, 0, 0, 0, 1), {R1, R2, R3}, EMPTY},
Packit Service 706eca
    {"pshl4",	I, OpZaZbVeX2aX2bX2c (7, 1, 0, 0, 0, 0, 1), {R1, R2, R3}, EMPTY},
Packit Service 706eca
    {"shl",	I, OpZaZbVeX2aX2bX2c (7, 1, 1, 0, 0, 0, 1), {R1, R2, R3}, EMPTY},
Packit Service 706eca
    {"mpy4",    I, OpZaZbVeX2aX2bX2c (7, 1, 0, 0, 0, 1, 3), {R1, R2, R3}, EMPTY},
Packit Service 706eca
    {"mpyshl4", I, OpZaZbVeX2aX2bX2c (7, 1, 0, 0, 0, 3, 3), {R1, R2, R3}, EMPTY},
Packit Service 706eca
    {"pshl2",	I, OpZaZbVeX2aX2bX2c (7, 0, 1, 0, 3, 1, 1), {R1, R2, CCNT5}, EMPTY},
Packit Service 706eca
    {"pshl4",	I, OpZaZbVeX2aX2bX2c (7, 1, 0, 0, 3, 1, 1), {R1, R2, CCNT5}, EMPTY},
Packit Service 706eca
    {"popcnt",	I, OpZaZbVeX2aX2bX2c (7, 0, 1, 0, 1, 1, 2), {R1, R3}, EMPTY},
Packit Service 706eca
    {"clz",     I, OpZaZbVeX2aX2bX2c (7, 0, 1, 0, 1, 1, 3), {R1, R3}, EMPTY},
Packit Service 706eca
Packit Service 706eca
    {NULL, 0, 0, 0, 0, {0}, 0, 0, NULL}
Packit Service 706eca
  };
Packit Service 706eca
Packit Service 706eca
#undef I0
Packit Service 706eca
#undef I
Packit Service 706eca
#undef I2
Packit Service 706eca
#undef L
Packit Service 706eca
#undef bC
Packit Service 706eca
#undef bIh
Packit Service 706eca
#undef bTa
Packit Service 706eca
#undef bTag13
Packit Service 706eca
#undef bTb
Packit Service 706eca
#undef bVc
Packit Service 706eca
#undef bVe
Packit Service 706eca
#undef bWh
Packit Service 706eca
#undef bX
Packit Service 706eca
#undef bXb
Packit Service 706eca
#undef bX2
Packit Service 706eca
#undef bX2a
Packit Service 706eca
#undef bX2b
Packit Service 706eca
#undef bX2c
Packit Service 706eca
#undef bX3
Packit Service 706eca
#undef bX6
Packit Service 706eca
#undef bY
Packit Service 706eca
#undef bZa
Packit Service 706eca
#undef bZb
Packit Service 706eca
#undef mC
Packit Service 706eca
#undef mIh
Packit Service 706eca
#undef mTa
Packit Service 706eca
#undef mTag13
Packit Service 706eca
#undef mTb
Packit Service 706eca
#undef mVc
Packit Service 706eca
#undef mVe
Packit Service 706eca
#undef mWh
Packit Service 706eca
#undef mX
Packit Service 706eca
#undef mXb
Packit Service 706eca
#undef mX2
Packit Service 706eca
#undef mX2a
Packit Service 706eca
#undef mX2b
Packit Service 706eca
#undef mX2c
Packit Service 706eca
#undef mX3
Packit Service 706eca
#undef mX6
Packit Service 706eca
#undef mY
Packit Service 706eca
#undef mZa
Packit Service 706eca
#undef mZb
Packit Service 706eca
#undef OpZaZbVeX2aX2b
Packit Service 706eca
#undef OpZaZbVeX2aX2bX2c
Packit Service 706eca
#undef OpX2X
Packit Service 706eca
#undef OpX2XYa
Packit Service 706eca
#undef OpX2XYb
Packit Service 706eca
#undef OpX2TaTbYaC
Packit Service 706eca
#undef OpX3
Packit Service 706eca
#undef OpX3X6
Packit Service 706eca
#undef OpX3XbIhWh
Packit Service 706eca
#undef OpX3XbIhWhTag13
Packit Service 706eca
#undef EMPTY