[BACK]Return to ia64-opc-f.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / external / gpl3 / binutils.old / dist / opcodes

Annotation of src/external/gpl3/binutils.old/dist/opcodes/ia64-opc-f.c, Revision 1.1.1.1

1.1       christos    1: /* ia64-opc-f.c -- IA-64 `F' opcode table.
                      2:    Copyright 1998, 1999, 2000, 2002, 2005, 2007, 2009
                      3:    Free Software Foundation, Inc.
                      4:    Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
                      5:
                      6:    This file is part of the GNU opcodes library.
                      7:
                      8:    This library is free software; you can redistribute it and/or modify
                      9:    it under the terms of the GNU General Public License as published by
                     10:    the Free Software Foundation; either version 3, or (at your option)
                     11:    any later version.
                     12:
                     13:    It is distributed in the hope that it will be useful, but WITHOUT
                     14:    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
                     15:    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
                     16:    License for more details.
                     17:
                     18:    You should have received a copy of the GNU General Public License
                     19:    along with this file; see the file COPYING.  If not, write to the
                     20:    Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston,
                     21:    MA 02110-1301, USA.  */
                     22:
                     23: #include "ia64-opc.h"
                     24:
                     25: #define f0     IA64_TYPE_F, 0
                     26: #define f      IA64_TYPE_F, 1
                     27: #define f2     IA64_TYPE_F, 2
                     28:
                     29: #define bF2(x) (((ia64_insn) ((x) & 0x7f)) << 13)
                     30: #define bF4(x) (((ia64_insn) ((x) & 0x7f)) << 27)
                     31: #define bQ(x)  (((ia64_insn) ((x) & 0x1)) << 36)
                     32: #define bRa(x) (((ia64_insn) ((x) & 0x1)) << 33)
                     33: #define bRb(x) (((ia64_insn) ((x) & 0x1)) << 36)
                     34: #define bSf(x) (((ia64_insn) ((x) & 0x3)) << 34)
                     35: #define bTa(x) (((ia64_insn) ((x) & 0x1)) << 12)
                     36: #define bXa(x) (((ia64_insn) ((x) & 0x1)) << 36)
                     37: #define bXb(x) (((ia64_insn) ((x) & 0x1)) << 33)
                     38: #define bX2(x) (((ia64_insn) ((x) & 0x3)) << 34)
                     39: #define bX6(x) (((ia64_insn) ((x) & 0x3f)) << 27)
                     40: #define bY(x)  (((ia64_insn) ((x) & 0x1)) << 26)
                     41:
                     42: #define mF2    bF2 (-1)
                     43: #define mF4    bF4 (-1)
                     44: #define mQ     bQ (-1)
                     45: #define mRa    bRa (-1)
                     46: #define mRb    bRb (-1)
                     47: #define mSf    bSf (-1)
                     48: #define mTa    bTa (-1)
                     49: #define mXa    bXa (-1)
                     50: #define mXb    bXb (-1)
                     51: #define mX2    bX2 (-1)
                     52: #define mX6    bX6 (-1)
                     53: #define mY     bY (-1)
                     54:
                     55: #define OpXa(a,b)      (bOp (a) | bXa (b)), (mOp | mXa)
                     56: #define OpXaSf(a,b,c)  (bOp (a) | bXa (b) | bSf (c)), (mOp | mXa | mSf)
                     57: #define OpXaSfF2(a,b,c,d) \
                     58:        (bOp (a) | bXa (b) | bSf (c) | bF2 (d)), (mOp | mXa | mSf | mF2)
                     59: #define OpXaSfF4(a,b,c,d) \
                     60:        (bOp (a) | bXa (b) | bSf (c) | bF4 (d)), (mOp | mXa | mSf | mF4)
                     61: #define OpXaSfF2F4(a,b,c,d,e) \
                     62:        (bOp (a) | bXa (b) | bSf (c) | bF2 (d) | bF4 (e)), \
                     63:        (mOp | mXa | mSf | mF2 | mF4)
                     64: #define OpXaX2(a,b,c)  (bOp (a) | bXa (b) | bX2 (c)), (mOp | mXa | mX2)
                     65: #define OpXaX2F2(a,b,c,d) \
                     66:        (bOp (a) | bXa (b) | bX2 (c) | bF2 (d)), (mOp | mXa | mX2 | mF2)
                     67: #define OpRaRbTaSf(a,b,c,d,e) \
                     68:        (bOp (a) | bRa (b) | bRb (c) | bTa (d) | bSf (e)), \
                     69:        (mOp | mRa | mRb | mTa | mSf)
                     70: #define OpTa(a,b)      (bOp (a) | bTa (b)), (mOp | mTa)
                     71: #define OpXbQSf(a,b,c,d) \
                     72:        (bOp (a) | bXb (b) | bQ (c) | bSf (d)), (mOp | mXb | mQ | mSf)
                     73: #define OpXbX6(a,b,c) \
                     74:        (bOp (a) | bXb (b) | bX6 (c)), (mOp | mXb | mX6)
                     75: #define OpXbX6Y(a,b,c,d) \
                     76:        (bOp (a) | bXb (b) | bX6 (c) | bY (d)), (mOp | mXb | mX6 | mY)
                     77: #define OpXbX6F2(a,b,c,d) \
                     78:        (bOp (a) | bXb (b) | bX6 (c) | bF2 (d)), (mOp | mXb | mX6 | mF2)
                     79: #define OpXbX6Sf(a,b,c,d) \
                     80:        (bOp (a) | bXb (b) | bX6 (c) | bSf (d)), (mOp | mXb | mX6 | mSf)
                     81:
                     82: /* Used to initialise unused fields in ia64_opcode struct,
                     83:    in order to stop gcc from complaining.  */
                     84: #define EMPTY 0,0,NULL
                     85:
                     86: struct ia64_opcode ia64_opcodes_f[] =
                     87:   {
                     88:     /* F-type instruction encodings (sorted according to major opcode).  */
                     89:
                     90:     {"frcpa.s0",       f2, OpXbQSf (0, 1, 0, 0), {F1, P2, F2, F3}, EMPTY},
                     91:     {"frcpa",          f2, OpXbQSf (0, 1, 0, 0), {F1, P2, F2, F3}, PSEUDO, 0, NULL},
                     92:     {"frcpa.s1",       f2, OpXbQSf (0, 1, 0, 1), {F1, P2, F2, F3}, EMPTY},
                     93:     {"frcpa.s2",       f2, OpXbQSf (0, 1, 0, 2), {F1, P2, F2, F3}, EMPTY},
                     94:     {"frcpa.s3",       f2, OpXbQSf (0, 1, 0, 3), {F1, P2, F2, F3}, EMPTY},
                     95:
                     96:     {"frsqrta.s0",     f2, OpXbQSf (0, 1, 1, 0), {F1, P2, F3}, EMPTY},
                     97:     {"frsqrta",                f2, OpXbQSf (0, 1, 1, 0), {F1, P2, F3}, PSEUDO, 0, NULL},
                     98:     {"frsqrta.s1",     f2, OpXbQSf (0, 1, 1, 1), {F1, P2, F3}, EMPTY},
                     99:     {"frsqrta.s2",     f2, OpXbQSf (0, 1, 1, 2), {F1, P2, F3}, EMPTY},
                    100:     {"frsqrta.s3",     f2, OpXbQSf (0, 1, 1, 3), {F1, P2, F3}, EMPTY},
                    101:
                    102:     {"fmin.s0",                f, OpXbX6Sf (0, 0, 0x14, 0), {F1, F2, F3}, EMPTY},
                    103:     {"fmin",           f, OpXbX6Sf (0, 0, 0x14, 0), {F1, F2, F3}, PSEUDO, 0, NULL},
                    104:     {"fmin.s1",                f, OpXbX6Sf (0, 0, 0x14, 1), {F1, F2, F3}, EMPTY},
                    105:     {"fmin.s2",                f, OpXbX6Sf (0, 0, 0x14, 2), {F1, F2, F3}, EMPTY},
                    106:     {"fmin.s3",                f, OpXbX6Sf (0, 0, 0x14, 3), {F1, F2, F3}, EMPTY},
                    107:     {"fmax.s0",                f, OpXbX6Sf (0, 0, 0x15, 0), {F1, F2, F3}, EMPTY},
                    108:     {"fmax",           f, OpXbX6Sf (0, 0, 0x15, 0), {F1, F2, F3}, PSEUDO, 0, NULL},
                    109:     {"fmax.s1",                f, OpXbX6Sf (0, 0, 0x15, 1), {F1, F2, F3}, EMPTY},
                    110:     {"fmax.s2",                f, OpXbX6Sf (0, 0, 0x15, 2), {F1, F2, F3}, EMPTY},
                    111:     {"fmax.s3",                f, OpXbX6Sf (0, 0, 0x15, 3), {F1, F2, F3}, EMPTY},
                    112:     {"famin.s0",       f, OpXbX6Sf (0, 0, 0x16, 0), {F1, F2, F3}, EMPTY},
                    113:     {"famin",          f, OpXbX6Sf (0, 0, 0x16, 0), {F1, F2, F3}, PSEUDO, 0, NULL},
                    114:     {"famin.s1",       f, OpXbX6Sf (0, 0, 0x16, 1), {F1, F2, F3}, EMPTY},
                    115:     {"famin.s2",       f, OpXbX6Sf (0, 0, 0x16, 2), {F1, F2, F3}, EMPTY},
                    116:     {"famin.s3",       f, OpXbX6Sf (0, 0, 0x16, 3), {F1, F2, F3}, EMPTY},
                    117:     {"famax.s0",       f, OpXbX6Sf (0, 0, 0x17, 0), {F1, F2, F3}, EMPTY},
                    118:     {"famax",          f, OpXbX6Sf (0, 0, 0x17, 0), {F1, F2, F3}, PSEUDO, 0, NULL},
                    119:     {"famax.s1",       f, OpXbX6Sf (0, 0, 0x17, 1), {F1, F2, F3}, EMPTY},
                    120:     {"famax.s2",       f, OpXbX6Sf (0, 0, 0x17, 2), {F1, F2, F3}, EMPTY},
                    121:     {"famax.s3",       f, OpXbX6Sf (0, 0, 0x17, 3), {F1, F2, F3}, EMPTY},
                    122:
                    123:     {"mov",            f, OpXbX6 (0, 0, 0x10), {F1, F3}, PSEUDO | F2_EQ_F3, 0, NULL},
                    124:     {"fabs",           f, OpXbX6F2 (0, 0, 0x10, 0), {F1, F3}, PSEUDO, 0, NULL},
                    125:     {"fneg",           f, OpXbX6   (0, 0, 0x11), {F1, F3}, PSEUDO | F2_EQ_F3, 0, NULL},
                    126:     {"fnegabs",                f, OpXbX6F2 (0, 0, 0x11, 0), {F1, F3}, PSEUDO, 0, NULL},
                    127:     {"fmerge.s",       f, OpXbX6   (0, 0, 0x10), {F1, F2, F3}, EMPTY},
                    128:     {"fmerge.ns",      f, OpXbX6   (0, 0, 0x11), {F1, F2, F3}, EMPTY},
                    129:
                    130:     {"fmerge.se",      f, OpXbX6 (0, 0, 0x12), {F1, F2, F3}, EMPTY},
                    131:     {"fmix.lr",                f, OpXbX6 (0, 0, 0x39), {F1, F2, F3}, EMPTY},
                    132:     {"fmix.r",         f, OpXbX6 (0, 0, 0x3a), {F1, F2, F3}, EMPTY},
                    133:     {"fmix.l",         f, OpXbX6 (0, 0, 0x3b), {F1, F2, F3}, EMPTY},
                    134:     {"fsxt.r",         f, OpXbX6 (0, 0, 0x3c), {F1, F2, F3}, EMPTY},
                    135:     {"fsxt.l",         f, OpXbX6 (0, 0, 0x3d), {F1, F2, F3}, EMPTY},
                    136:     {"fpack",          f, OpXbX6 (0, 0, 0x28), {F1, F2, F3}, EMPTY},
                    137:     {"fswap",          f, OpXbX6 (0, 0, 0x34), {F1, F2, F3}, EMPTY},
                    138:     {"fswap.nl",       f, OpXbX6 (0, 0, 0x35), {F1, F2, F3}, EMPTY},
                    139:     {"fswap.nr",       f, OpXbX6 (0, 0, 0x36), {F1, F2, F3}, EMPTY},
                    140:     {"fand",           f, OpXbX6 (0, 0, 0x2c), {F1, F2, F3}, EMPTY},
                    141:     {"fandcm",         f, OpXbX6 (0, 0, 0x2d), {F1, F2, F3}, EMPTY},
                    142:     {"for",            f, OpXbX6 (0, 0, 0x2e), {F1, F2, F3}, EMPTY},
                    143:     {"fxor",           f, OpXbX6 (0, 0, 0x2f), {F1, F2, F3}, EMPTY},
                    144:
                    145:     {"fcvt.fx.s0",             f, OpXbX6Sf (0, 0, 0x18, 0), {F1, F2}, EMPTY},
                    146:     {"fcvt.fx",                        f, OpXbX6Sf (0, 0, 0x18, 0), {F1, F2}, PSEUDO, 0, NULL},
                    147:     {"fcvt.fx.s1",             f, OpXbX6Sf (0, 0, 0x18, 1), {F1, F2}, EMPTY},
                    148:     {"fcvt.fx.s2",             f, OpXbX6Sf (0, 0, 0x18, 2), {F1, F2}, EMPTY},
                    149:     {"fcvt.fx.s3",             f, OpXbX6Sf (0, 0, 0x18, 3), {F1, F2}, EMPTY},
                    150:     {"fcvt.fxu.s0",            f, OpXbX6Sf (0, 0, 0x19, 0), {F1, F2}, EMPTY},
                    151:     {"fcvt.fxu",               f, OpXbX6Sf (0, 0, 0x19, 0), {F1, F2}, PSEUDO, 0, NULL},
                    152:     {"fcvt.fxu.s1",            f, OpXbX6Sf (0, 0, 0x19, 1), {F1, F2}, EMPTY},
                    153:     {"fcvt.fxu.s2",            f, OpXbX6Sf (0, 0, 0x19, 2), {F1, F2}, EMPTY},
                    154:     {"fcvt.fxu.s3",            f, OpXbX6Sf (0, 0, 0x19, 3), {F1, F2}, EMPTY},
                    155:     {"fcvt.fx.trunc.s0",       f, OpXbX6Sf (0, 0, 0x1a, 0), {F1, F2}, EMPTY},
                    156:     {"fcvt.fx.trunc",          f, OpXbX6Sf (0, 0, 0x1a, 0), {F1, F2}, PSEUDO, 0, NULL},
                    157:     {"fcvt.fx.trunc.s1",       f, OpXbX6Sf (0, 0, 0x1a, 1), {F1, F2}, EMPTY},
                    158:     {"fcvt.fx.trunc.s2",       f, OpXbX6Sf (0, 0, 0x1a, 2), {F1, F2}, EMPTY},
                    159:     {"fcvt.fx.trunc.s3",       f, OpXbX6Sf (0, 0, 0x1a, 3), {F1, F2}, EMPTY},
                    160:     {"fcvt.fxu.trunc.s0",      f, OpXbX6Sf (0, 0, 0x1b, 0), {F1, F2}, EMPTY},
                    161:     {"fcvt.fxu.trunc",         f, OpXbX6Sf (0, 0, 0x1b, 0), {F1, F2}, PSEUDO, 0, NULL},
                    162:     {"fcvt.fxu.trunc.s1",      f, OpXbX6Sf (0, 0, 0x1b, 1), {F1, F2}, EMPTY},
                    163:     {"fcvt.fxu.trunc.s2",      f, OpXbX6Sf (0, 0, 0x1b, 2), {F1, F2}, EMPTY},
                    164:     {"fcvt.fxu.trunc.s3",      f, OpXbX6Sf (0, 0, 0x1b, 3), {F1, F2}, EMPTY},
                    165:
                    166:     {"fcvt.xf",                f, OpXbX6 (0, 0, 0x1c), {F1, F2}, EMPTY},
                    167:
                    168:     {"fsetc.s0",       f0, OpXbX6Sf (0, 0, 0x04, 0), {IMMU7a, IMMU7b}, EMPTY},
                    169:     {"fsetc",          f0, OpXbX6Sf (0, 0, 0x04, 0), {IMMU7a, IMMU7b}, PSEUDO, 0, NULL},
                    170:     {"fsetc.s1",       f0, OpXbX6Sf (0, 0, 0x04, 1), {IMMU7a, IMMU7b}, EMPTY},
                    171:     {"fsetc.s2",       f0, OpXbX6Sf (0, 0, 0x04, 2), {IMMU7a, IMMU7b}, EMPTY},
                    172:     {"fsetc.s3",       f0, OpXbX6Sf (0, 0, 0x04, 3), {IMMU7a, IMMU7b}, EMPTY},
                    173:     {"fclrf.s0",       f0, OpXbX6Sf (0, 0, 0x05, 0), {}, EMPTY},
                    174:     {"fclrf",          f0, OpXbX6Sf (0, 0, 0x05, 0), {0}, PSEUDO, 0, NULL},
                    175:     {"fclrf.s1",       f0, OpXbX6Sf (0, 0, 0x05, 1), {}, EMPTY},
                    176:     {"fclrf.s2",       f0, OpXbX6Sf (0, 0, 0x05, 2), {}, EMPTY},
                    177:     {"fclrf.s3",       f0, OpXbX6Sf (0, 0, 0x05, 3), {}, EMPTY},
                    178:     {"fchkf.s0",       f0, OpXbX6Sf (0, 0, 0x08, 0), {TGT25}, EMPTY},
                    179:     {"fchkf",          f0, OpXbX6Sf (0, 0, 0x08, 0), {TGT25}, PSEUDO, 0, NULL},
                    180:     {"fchkf.s1",       f0, OpXbX6Sf (0, 0, 0x08, 1), {TGT25}, EMPTY},
                    181:     {"fchkf.s2",       f0, OpXbX6Sf (0, 0, 0x08, 2), {TGT25}, EMPTY},
                    182:     {"fchkf.s3",       f0, OpXbX6Sf (0, 0, 0x08, 3), {TGT25}, EMPTY},
                    183:
                    184:     {"break.f",                f0, OpXbX6 (0, 0, 0x00), {IMMU21}, EMPTY},
                    185:     {"nop.f",          f0, OpXbX6Y (0, 0, 0x01, 0), {IMMU21}, EMPTY},
                    186:     {"hint.f",         f0, OpXbX6Y (0, 0, 0x01, 1), {IMMU21}, EMPTY},
                    187:
                    188:     {"fprcpa.s0",      f2, OpXbQSf (1, 1, 0, 0), {F1, P2, F2, F3}, EMPTY},
                    189:     {"fprcpa",         f2, OpXbQSf (1, 1, 0, 0), {F1, P2, F2, F3}, PSEUDO, 0, NULL},
                    190:     {"fprcpa.s1",      f2, OpXbQSf (1, 1, 0, 1), {F1, P2, F2, F3}, EMPTY},
                    191:     {"fprcpa.s2",      f2, OpXbQSf (1, 1, 0, 2), {F1, P2, F2, F3}, EMPTY},
                    192:     {"fprcpa.s3",      f2, OpXbQSf (1, 1, 0, 3), {F1, P2, F2, F3}, EMPTY},
                    193:
                    194:     {"fprsqrta.s0",    f2, OpXbQSf (1, 1, 1, 0), {F1, P2, F3}, EMPTY},
                    195:     {"fprsqrta",       f2, OpXbQSf (1, 1, 1, 0), {F1, P2, F3}, PSEUDO, 0, NULL},
                    196:     {"fprsqrta.s1",    f2, OpXbQSf (1, 1, 1, 1), {F1, P2, F3}, EMPTY},
                    197:     {"fprsqrta.s2",    f2, OpXbQSf (1, 1, 1, 2), {F1, P2, F3}, EMPTY},
                    198:     {"fprsqrta.s3",    f2, OpXbQSf (1, 1, 1, 3), {F1, P2, F3}, EMPTY},
                    199:
                    200:     {"fpmin.s0",       f, OpXbX6Sf (1, 0, 0x14, 0), {F1, F2, F3}, EMPTY},
                    201:     {"fpmin",          f, OpXbX6Sf (1, 0, 0x14, 0), {F1, F2, F3}, PSEUDO, 0, NULL},
                    202:     {"fpmin.s1",       f, OpXbX6Sf (1, 0, 0x14, 1), {F1, F2, F3}, EMPTY},
                    203:     {"fpmin.s2",       f, OpXbX6Sf (1, 0, 0x14, 2), {F1, F2, F3}, EMPTY},
                    204:     {"fpmin.s3",       f, OpXbX6Sf (1, 0, 0x14, 3), {F1, F2, F3}, EMPTY},
                    205:     {"fpmax.s0",       f, OpXbX6Sf (1, 0, 0x15, 0), {F1, F2, F3}, EMPTY},
                    206:     {"fpmax",          f, OpXbX6Sf (1, 0, 0x15, 0), {F1, F2, F3}, PSEUDO, 0, NULL},
                    207:     {"fpmax.s1",       f, OpXbX6Sf (1, 0, 0x15, 1), {F1, F2, F3}, EMPTY},
                    208:     {"fpmax.s2",       f, OpXbX6Sf (1, 0, 0x15, 2), {F1, F2, F3}, EMPTY},
                    209:     {"fpmax.s3",       f, OpXbX6Sf (1, 0, 0x15, 3), {F1, F2, F3}, EMPTY},
                    210:     {"fpamin.s0",      f, OpXbX6Sf (1, 0, 0x16, 0), {F1, F2, F3}, EMPTY},
                    211:     {"fpamin",         f, OpXbX6Sf (1, 0, 0x16, 0), {F1, F2, F3}, PSEUDO, 0, NULL},
                    212:     {"fpamin.s1",      f, OpXbX6Sf (1, 0, 0x16, 1), {F1, F2, F3}, EMPTY},
                    213:     {"fpamin.s2",      f, OpXbX6Sf (1, 0, 0x16, 2), {F1, F2, F3}, EMPTY},
                    214:     {"fpamin.s3",      f, OpXbX6Sf (1, 0, 0x16, 3), {F1, F2, F3}, EMPTY},
                    215:     {"fpamax.s0",      f, OpXbX6Sf (1, 0, 0x17, 0), {F1, F2, F3}, EMPTY},
                    216:     {"fpamax",         f, OpXbX6Sf (1, 0, 0x17, 0), {F1, F2, F3}, PSEUDO, 0, NULL},
                    217:     {"fpamax.s1",      f, OpXbX6Sf (1, 0, 0x17, 1), {F1, F2, F3}, EMPTY},
                    218:     {"fpamax.s2",      f, OpXbX6Sf (1, 0, 0x17, 2), {F1, F2, F3}, EMPTY},
                    219:     {"fpamax.s3",      f, OpXbX6Sf (1, 0, 0x17, 3), {F1, F2, F3}, EMPTY},
                    220:
                    221:     {"fpcmp.eq.s0",    f, OpXbX6Sf (1, 0, 0x30, 0), {F1, F2, F3}, EMPTY},
                    222:     {"fpcmp.eq",       f, OpXbX6Sf (1, 0, 0x30, 0), {F1, F2, F3}, PSEUDO, 0, NULL},
                    223:     {"fpcmp.eq.s1",    f, OpXbX6Sf (1, 0, 0x30, 1), {F1, F2, F3}, EMPTY},
                    224:     {"fpcmp.eq.s2",    f, OpXbX6Sf (1, 0, 0x30, 2), {F1, F2, F3}, EMPTY},
                    225:     {"fpcmp.eq.s3",    f, OpXbX6Sf (1, 0, 0x30, 3), {F1, F2, F3}, EMPTY},
                    226:     {"fpcmp.lt.s0",    f, OpXbX6Sf (1, 0, 0x31, 0), {F1, F2, F3}, EMPTY},
                    227:     {"fpcmp.lt",       f, OpXbX6Sf (1, 0, 0x31, 0), {F1, F2, F3}, PSEUDO, 0, NULL},
                    228:     {"fpcmp.lt.s1",    f, OpXbX6Sf (1, 0, 0x31, 1), {F1, F2, F3}, EMPTY},
                    229:     {"fpcmp.lt.s2",    f, OpXbX6Sf (1, 0, 0x31, 2), {F1, F2, F3}, EMPTY},
                    230:     {"fpcmp.lt.s3",    f, OpXbX6Sf (1, 0, 0x31, 3), {F1, F2, F3}, EMPTY},
                    231:     {"fpcmp.le.s0",    f, OpXbX6Sf (1, 0, 0x32, 0), {F1, F2, F3}, EMPTY},
                    232:     {"fpcmp.le",       f, OpXbX6Sf (1, 0, 0x32, 0), {F1, F2, F3}, PSEUDO, 0, NULL},
                    233:     {"fpcmp.le.s1",    f, OpXbX6Sf (1, 0, 0x32, 1), {F1, F2, F3}, EMPTY},
                    234:     {"fpcmp.le.s2",    f, OpXbX6Sf (1, 0, 0x32, 2), {F1, F2, F3}, EMPTY},
                    235:     {"fpcmp.le.s3",    f, OpXbX6Sf (1, 0, 0x32, 3), {F1, F2, F3}, EMPTY},
                    236:     {"fpcmp.gt.s0",    f, OpXbX6Sf (1, 0, 0x31, 0), {F1, F3, F2}, PSEUDO, 0, NULL},
                    237:     {"fpcmp.gt",       f, OpXbX6Sf (1, 0, 0x31, 0), {F1, F3, F2}, PSEUDO, 0, NULL},
                    238:     {"fpcmp.gt.s1",    f, OpXbX6Sf (1, 0, 0x31, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    239:     {"fpcmp.gt.s2",    f, OpXbX6Sf (1, 0, 0x31, 2), {F1, F3, F2}, PSEUDO, 0, NULL},
                    240:     {"fpcmp.gt.s3",    f, OpXbX6Sf (1, 0, 0x31, 3), {F1, F3, F2}, PSEUDO, 0, NULL},
                    241:     {"fpcmp.ge.s0",    f, OpXbX6Sf (1, 0, 0x32, 0), {F1, F3, F2}, PSEUDO, 0, NULL},
                    242:     {"fpcmp.ge",       f, OpXbX6Sf (1, 0, 0x32, 0), {F1, F3, F2}, PSEUDO, 0, NULL},
                    243:     {"fpcmp.ge.s1",    f, OpXbX6Sf (1, 0, 0x32, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    244:     {"fpcmp.ge.s2",    f, OpXbX6Sf (1, 0, 0x32, 2), {F1, F3, F2}, PSEUDO, 0, NULL},
                    245:     {"fpcmp.ge.s3",    f, OpXbX6Sf (1, 0, 0x32, 3), {F1, F3, F2}, PSEUDO, 0, NULL},
                    246:     {"fpcmp.unord.s0", f, OpXbX6Sf (1, 0, 0x33, 0), {F1, F2, F3}, EMPTY},
                    247:     {"fpcmp.unord",    f, OpXbX6Sf (1, 0, 0x33, 0), {F1, F2, F3}, PSEUDO, 0, NULL},
                    248:     {"fpcmp.unord.s1", f, OpXbX6Sf (1, 0, 0x33, 1), {F1, F2, F3}, EMPTY},
                    249:     {"fpcmp.unord.s2", f, OpXbX6Sf (1, 0, 0x33, 2), {F1, F2, F3}, EMPTY},
                    250:     {"fpcmp.unord.s3", f, OpXbX6Sf (1, 0, 0x33, 3), {F1, F2, F3}, EMPTY},
                    251:     {"fpcmp.neq.s0",   f, OpXbX6Sf (1, 0, 0x34, 0), {F1, F2, F3}, EMPTY},
                    252:     {"fpcmp.neq",      f, OpXbX6Sf (1, 0, 0x34, 0), {F1, F2, F3}, PSEUDO, 0, NULL},
                    253:     {"fpcmp.neq.s1",   f, OpXbX6Sf (1, 0, 0x34, 1), {F1, F2, F3}, EMPTY},
                    254:     {"fpcmp.neq.s2",   f, OpXbX6Sf (1, 0, 0x34, 2), {F1, F2, F3}, EMPTY},
                    255:     {"fpcmp.neq.s3",   f, OpXbX6Sf (1, 0, 0x34, 3), {F1, F2, F3}, EMPTY},
                    256:     {"fpcmp.nlt.s0",   f, OpXbX6Sf (1, 0, 0x35, 0), {F1, F2, F3}, EMPTY},
                    257:     {"fpcmp.nlt",      f, OpXbX6Sf (1, 0, 0x35, 0), {F1, F2, F3}, PSEUDO, 0, NULL},
                    258:     {"fpcmp.nlt.s1",   f, OpXbX6Sf (1, 0, 0x35, 1), {F1, F2, F3}, EMPTY},
                    259:     {"fpcmp.nlt.s2",   f, OpXbX6Sf (1, 0, 0x35, 2), {F1, F2, F3}, EMPTY},
                    260:     {"fpcmp.nlt.s3",   f, OpXbX6Sf (1, 0, 0x35, 3), {F1, F2, F3}, EMPTY},
                    261:     {"fpcmp.nle.s0",   f, OpXbX6Sf (1, 0, 0x36, 0), {F1, F2, F3}, EMPTY},
                    262:     {"fpcmp.nle",      f, OpXbX6Sf (1, 0, 0x36, 0), {F1, F2, F3}, PSEUDO, 0, NULL},
                    263:     {"fpcmp.nle.s1",   f, OpXbX6Sf (1, 0, 0x36, 1), {F1, F2, F3}, EMPTY},
                    264:     {"fpcmp.nle.s2",   f, OpXbX6Sf (1, 0, 0x36, 2), {F1, F2, F3}, EMPTY},
                    265:     {"fpcmp.nle.s3",   f, OpXbX6Sf (1, 0, 0x36, 3), {F1, F2, F3}, EMPTY},
                    266:     {"fpcmp.ngt.s0",   f, OpXbX6Sf (1, 0, 0x35, 0), {F1, F3, F2}, PSEUDO, 0, NULL},
                    267:     {"fpcmp.ngt",      f, OpXbX6Sf (1, 0, 0x35, 0), {F1, F3, F2}, PSEUDO, 0, NULL},
                    268:     {"fpcmp.ngt.s1",   f, OpXbX6Sf (1, 0, 0x35, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    269:     {"fpcmp.ngt.s2",   f, OpXbX6Sf (1, 0, 0x35, 2), {F1, F3, F2}, PSEUDO, 0, NULL},
                    270:     {"fpcmp.ngt.s3",   f, OpXbX6Sf (1, 0, 0x35, 3), {F1, F3, F2}, PSEUDO, 0, NULL},
                    271:     {"fpcmp.nge.s0",   f, OpXbX6Sf (1, 0, 0x36, 0), {F1, F3, F2}, PSEUDO, 0, NULL},
                    272:     {"fpcmp.nge",      f, OpXbX6Sf (1, 0, 0x36, 0), {F1, F3, F2}, PSEUDO, 0, NULL},
                    273:     {"fpcmp.nge.s1",   f, OpXbX6Sf (1, 0, 0x36, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    274:     {"fpcmp.nge.s2",   f, OpXbX6Sf (1, 0, 0x36, 2), {F1, F3, F2}, PSEUDO, 0, NULL},
                    275:     {"fpcmp.nge.s3",   f, OpXbX6Sf (1, 0, 0x36, 3), {F1, F3, F2}, PSEUDO, 0, NULL},
                    276:     {"fpcmp.ord.s0",   f, OpXbX6Sf (1, 0, 0x37, 0), {F1, F2, F3}, EMPTY},
                    277:     {"fpcmp.ord",      f, OpXbX6Sf (1, 0, 0x37, 0), {F1, F2, F3}, PSEUDO, 0, NULL},
                    278:     {"fpcmp.ord.s1",   f, OpXbX6Sf (1, 0, 0x37, 1), {F1, F2, F3}, EMPTY},
                    279:     {"fpcmp.ord.s2",   f, OpXbX6Sf (1, 0, 0x37, 2), {F1, F2, F3}, EMPTY},
                    280:     {"fpcmp.ord.s3",   f, OpXbX6Sf (1, 0, 0x37, 3), {F1, F2, F3}, EMPTY},
                    281:
                    282:     {"fpabs",          f, OpXbX6F2 (1, 0, 0x10, 0), {F1, F3}, PSEUDO, 0, NULL},
                    283:     {"fpneg",          f, OpXbX6   (1, 0, 0x11), {F1, F3}, PSEUDO | F2_EQ_F3, 0, NULL},
                    284:     {"fpnegabs",       f, OpXbX6F2 (1, 0, 0x11, 0), {F1, F3}, PSEUDO, 0, NULL},
                    285:     {"fpmerge.s",      f, OpXbX6   (1, 0, 0x10), {F1, F2, F3}, EMPTY},
                    286:     {"fpmerge.ns",     f, OpXbX6   (1, 0, 0x11), {F1, F2, F3}, EMPTY},
                    287:     {"fpmerge.se",     f, OpXbX6 (1, 0, 0x12), {F1, F2, F3}, EMPTY},
                    288:
                    289:     {"fpcvt.fx.s0",            f, OpXbX6Sf (1, 0, 0x18, 0), {F1, F2}, EMPTY},
                    290:     {"fpcvt.fx",               f, OpXbX6Sf (1, 0, 0x18, 0), {F1, F2}, PSEUDO, 0, NULL},
                    291:     {"fpcvt.fx.s1",            f, OpXbX6Sf (1, 0, 0x18, 1), {F1, F2}, EMPTY},
                    292:     {"fpcvt.fx.s2",            f, OpXbX6Sf (1, 0, 0x18, 2), {F1, F2}, EMPTY},
                    293:     {"fpcvt.fx.s3",            f, OpXbX6Sf (1, 0, 0x18, 3), {F1, F2}, EMPTY},
                    294:     {"fpcvt.fxu.s0",           f, OpXbX6Sf (1, 0, 0x19, 0), {F1, F2}, EMPTY},
                    295:     {"fpcvt.fxu",              f, OpXbX6Sf (1, 0, 0x19, 0), {F1, F2}, PSEUDO, 0, NULL},
                    296:     {"fpcvt.fxu.s1",           f, OpXbX6Sf (1, 0, 0x19, 1), {F1, F2}, EMPTY},
                    297:     {"fpcvt.fxu.s2",           f, OpXbX6Sf (1, 0, 0x19, 2), {F1, F2}, EMPTY},
                    298:     {"fpcvt.fxu.s3",           f, OpXbX6Sf (1, 0, 0x19, 3), {F1, F2}, EMPTY},
                    299:     {"fpcvt.fx.trunc.s0",      f, OpXbX6Sf (1, 0, 0x1a, 0), {F1, F2}, EMPTY},
                    300:     {"fpcvt.fx.trunc",         f, OpXbX6Sf (1, 0, 0x1a, 0), {F1, F2}, PSEUDO, 0, NULL},
                    301:     {"fpcvt.fx.trunc.s1",      f, OpXbX6Sf (1, 0, 0x1a, 1), {F1, F2}, EMPTY},
                    302:     {"fpcvt.fx.trunc.s2",      f, OpXbX6Sf (1, 0, 0x1a, 2), {F1, F2}, EMPTY},
                    303:     {"fpcvt.fx.trunc.s3",      f, OpXbX6Sf (1, 0, 0x1a, 3), {F1, F2}, EMPTY},
                    304:     {"fpcvt.fxu.trunc.s0",     f, OpXbX6Sf (1, 0, 0x1b, 0), {F1, F2}, EMPTY},
                    305:     {"fpcvt.fxu.trunc",                f, OpXbX6Sf (1, 0, 0x1b, 0), {F1, F2}, PSEUDO, 0, NULL},
                    306:     {"fpcvt.fxu.trunc.s1",     f, OpXbX6Sf (1, 0, 0x1b, 1), {F1, F2}, EMPTY},
                    307:     {"fpcvt.fxu.trunc.s2",     f, OpXbX6Sf (1, 0, 0x1b, 2), {F1, F2}, EMPTY},
                    308:     {"fpcvt.fxu.trunc.s3",     f, OpXbX6Sf (1, 0, 0x1b, 3), {F1, F2}, EMPTY},
                    309:
                    310:     {"fcmp.eq.s0",       f2, OpRaRbTaSf (4, 0, 0, 0, 0), {P1, P2, F2, F3}, EMPTY},
                    311:     {"fcmp.eq",                  f2, OpRaRbTaSf (4, 0, 0, 0, 0), {P1, P2, F2, F3}, PSEUDO, 0, NULL},
                    312:     {"fcmp.eq.s1",       f2, OpRaRbTaSf (4, 0, 0, 0, 1), {P1, P2, F2, F3}, EMPTY},
                    313:     {"fcmp.eq.s2",       f2, OpRaRbTaSf (4, 0, 0, 0, 2), {P1, P2, F2, F3}, EMPTY},
                    314:     {"fcmp.eq.s3",       f2, OpRaRbTaSf (4, 0, 0, 0, 3), {P1, P2, F2, F3}, EMPTY},
                    315:     {"fcmp.lt.s0",       f2, OpRaRbTaSf (4, 0, 1, 0, 0), {P1, P2, F2, F3}, EMPTY},
                    316:     {"fcmp.lt",                  f2, OpRaRbTaSf (4, 0, 1, 0, 0), {P1, P2, F2, F3}, PSEUDO, 0, NULL},
                    317:     {"fcmp.lt.s1",       f2, OpRaRbTaSf (4, 0, 1, 0, 1), {P1, P2, F2, F3}, EMPTY},
                    318:     {"fcmp.lt.s2",       f2, OpRaRbTaSf (4, 0, 1, 0, 2), {P1, P2, F2, F3}, EMPTY},
                    319:     {"fcmp.lt.s3",       f2, OpRaRbTaSf (4, 0, 1, 0, 3), {P1, P2, F2, F3}, EMPTY},
                    320:     {"fcmp.le.s0",       f2, OpRaRbTaSf (4, 1, 0, 0, 0), {P1, P2, F2, F3}, EMPTY},
                    321:     {"fcmp.le",                  f2, OpRaRbTaSf (4, 1, 0, 0, 0), {P1, P2, F2, F3}, PSEUDO, 0, NULL},
                    322:     {"fcmp.le.s1",       f2, OpRaRbTaSf (4, 1, 0, 0, 1), {P1, P2, F2, F3}, EMPTY},
                    323:     {"fcmp.le.s2",       f2, OpRaRbTaSf (4, 1, 0, 0, 2), {P1, P2, F2, F3}, EMPTY},
                    324:     {"fcmp.le.s3",       f2, OpRaRbTaSf (4, 1, 0, 0, 3), {P1, P2, F2, F3}, EMPTY},
                    325:     {"fcmp.unord.s0",    f2, OpRaRbTaSf (4, 1, 1, 0, 0), {P1, P2, F2, F3}, EMPTY},
                    326:     {"fcmp.unord",       f2, OpRaRbTaSf (4, 1, 1, 0, 0), {P1, P2, F2, F3}, PSEUDO, 0, NULL},
                    327:     {"fcmp.unord.s1",    f2, OpRaRbTaSf (4, 1, 1, 0, 1), {P1, P2, F2, F3}, EMPTY},
                    328:     {"fcmp.unord.s2",    f2, OpRaRbTaSf (4, 1, 1, 0, 2), {P1, P2, F2, F3}, EMPTY},
                    329:     {"fcmp.unord.s3",    f2, OpRaRbTaSf (4, 1, 1, 0, 3), {P1, P2, F2, F3}, EMPTY},
                    330:     {"fcmp.eq.unc.s0",   f2, OpRaRbTaSf (4, 0, 0, 1, 0), {P1, P2, F2, F3}, EMPTY},
                    331:     {"fcmp.eq.unc",      f2, OpRaRbTaSf (4, 0, 0, 1, 0), {P1, P2, F2, F3}, PSEUDO, 0, NULL},
                    332:     {"fcmp.eq.unc.s1",   f2, OpRaRbTaSf (4, 0, 0, 1, 1), {P1, P2, F2, F3}, EMPTY},
                    333:     {"fcmp.eq.unc.s2",   f2, OpRaRbTaSf (4, 0, 0, 1, 2), {P1, P2, F2, F3}, EMPTY},
                    334:     {"fcmp.eq.unc.s3",   f2, OpRaRbTaSf (4, 0, 0, 1, 3), {P1, P2, F2, F3}, EMPTY},
                    335:     {"fcmp.lt.unc.s0",   f2, OpRaRbTaSf (4, 0, 1, 1, 0), {P1, P2, F2, F3}, EMPTY},
                    336:     {"fcmp.lt.unc",      f2, OpRaRbTaSf (4, 0, 1, 1, 0), {P1, P2, F2, F3}, PSEUDO, 0, NULL},
                    337:     {"fcmp.lt.unc.s1",   f2, OpRaRbTaSf (4, 0, 1, 1, 1), {P1, P2, F2, F3}, EMPTY},
                    338:     {"fcmp.lt.unc.s2",   f2, OpRaRbTaSf (4, 0, 1, 1, 2), {P1, P2, F2, F3}, EMPTY},
                    339:     {"fcmp.lt.unc.s3",   f2, OpRaRbTaSf (4, 0, 1, 1, 3), {P1, P2, F2, F3}, EMPTY},
                    340:     {"fcmp.le.unc.s0",   f2, OpRaRbTaSf (4, 1, 0, 1, 0), {P1, P2, F2, F3}, EMPTY},
                    341:     {"fcmp.le.unc",      f2, OpRaRbTaSf (4, 1, 0, 1, 0), {P1, P2, F2, F3}, PSEUDO, 0, NULL},
                    342:     {"fcmp.le.unc.s1",   f2, OpRaRbTaSf (4, 1, 0, 1, 1), {P1, P2, F2, F3}, EMPTY},
                    343:     {"fcmp.le.unc.s2",   f2, OpRaRbTaSf (4, 1, 0, 1, 2), {P1, P2, F2, F3}, EMPTY},
                    344:     {"fcmp.le.unc.s3",   f2, OpRaRbTaSf (4, 1, 0, 1, 3), {P1, P2, F2, F3}, EMPTY},
                    345:     {"fcmp.unord.unc.s0", f2, OpRaRbTaSf (4, 1, 1, 1, 0), {P1, P2, F2, F3}, EMPTY},
                    346:     {"fcmp.unord.unc",    f2, OpRaRbTaSf (4, 1, 1, 1, 0), {P1, P2, F2, F3}, PSEUDO, 0, NULL},
                    347:     {"fcmp.unord.unc.s1", f2, OpRaRbTaSf (4, 1, 1, 1, 1), {P1, P2, F2, F3}, EMPTY},
                    348:     {"fcmp.unord.unc.s2", f2, OpRaRbTaSf (4, 1, 1, 1, 2), {P1, P2, F2, F3}, EMPTY},
                    349:     {"fcmp.unord.unc.s3", f2, OpRaRbTaSf (4, 1, 1, 1, 3), {P1, P2, F2, F3}, EMPTY},
                    350:
                    351:     /* pseudo-ops of the above */
                    352:     {"fcmp.gt.s0",       f2, OpRaRbTaSf (4, 0, 1, 0, 0), {P1, P2, F3, F2}, EMPTY},
                    353:     {"fcmp.gt",                  f2, OpRaRbTaSf (4, 0, 1, 0, 0), {P1, P2, F3, F2}, PSEUDO, 0, NULL},
                    354:     {"fcmp.gt.s1",       f2, OpRaRbTaSf (4, 0, 1, 0, 1), {P1, P2, F3, F2}, EMPTY},
                    355:     {"fcmp.gt.s2",       f2, OpRaRbTaSf (4, 0, 1, 0, 2), {P1, P2, F3, F2}, EMPTY},
                    356:     {"fcmp.gt.s3",       f2, OpRaRbTaSf (4, 0, 1, 0, 3), {P1, P2, F3, F2}, EMPTY},
                    357:     {"fcmp.ge.s0",       f2, OpRaRbTaSf (4, 1, 0, 0, 0), {P1, P2, F3, F2}, EMPTY},
                    358:     {"fcmp.ge",                  f2, OpRaRbTaSf (4, 1, 0, 0, 0), {P1, P2, F3, F2}, PSEUDO, 0, NULL},
                    359:     {"fcmp.ge.s1",       f2, OpRaRbTaSf (4, 1, 0, 0, 1), {P1, P2, F3, F2}, EMPTY},
                    360:     {"fcmp.ge.s2",       f2, OpRaRbTaSf (4, 1, 0, 0, 2), {P1, P2, F3, F2}, EMPTY},
                    361:     {"fcmp.ge.s3",       f2, OpRaRbTaSf (4, 1, 0, 0, 3), {P1, P2, F3, F2}, EMPTY},
                    362:     {"fcmp.neq.s0",      f2, OpRaRbTaSf (4, 0, 0, 0, 0), {P2, P1, F2, F3}, EMPTY},
                    363:     {"fcmp.neq",         f2, OpRaRbTaSf (4, 0, 0, 0, 0), {P2, P1, F2, F3}, PSEUDO, 0, NULL},
                    364:     {"fcmp.neq.s1",      f2, OpRaRbTaSf (4, 0, 0, 0, 1), {P2, P1, F2, F3}, EMPTY},
                    365:     {"fcmp.neq.s2",      f2, OpRaRbTaSf (4, 0, 0, 0, 2), {P2, P1, F2, F3}, EMPTY},
                    366:     {"fcmp.neq.s3",      f2, OpRaRbTaSf (4, 0, 0, 0, 3), {P2, P1, F2, F3}, EMPTY},
                    367:     {"fcmp.nlt.s0",      f2, OpRaRbTaSf (4, 0, 1, 0, 0), {P2, P1, F2, F3}, EMPTY},
                    368:     {"fcmp.nlt",         f2, OpRaRbTaSf (4, 0, 1, 0, 0), {P2, P1, F2, F3}, PSEUDO, 0, NULL},
                    369:     {"fcmp.nlt.s1",      f2, OpRaRbTaSf (4, 0, 1, 0, 1), {P2, P1, F2, F3}, EMPTY},
                    370:     {"fcmp.nlt.s2",      f2, OpRaRbTaSf (4, 0, 1, 0, 2), {P2, P1, F2, F3}, EMPTY},
                    371:     {"fcmp.nlt.s3",      f2, OpRaRbTaSf (4, 0, 1, 0, 3), {P2, P1, F2, F3}, EMPTY},
                    372:     {"fcmp.nle.s0",      f2, OpRaRbTaSf (4, 1, 0, 0, 0), {P2, P1, F2, F3}, EMPTY},
                    373:     {"fcmp.nle",         f2, OpRaRbTaSf (4, 1, 0, 0, 0), {P2, P1, F2, F3}, PSEUDO, 0, NULL},
                    374:     {"fcmp.nle.s1",      f2, OpRaRbTaSf (4, 1, 0, 0, 1), {P2, P1, F2, F3}, EMPTY},
                    375:     {"fcmp.nle.s2",      f2, OpRaRbTaSf (4, 1, 0, 0, 2), {P2, P1, F2, F3}, EMPTY},
                    376:     {"fcmp.nle.s3",      f2, OpRaRbTaSf (4, 1, 0, 0, 3), {P2, P1, F2, F3}, EMPTY},
                    377:     {"fcmp.ngt.s0",      f2, OpRaRbTaSf (4, 0, 1, 0, 0), {P2, P1, F3, F2}, EMPTY},
                    378:     {"fcmp.ngt",         f2, OpRaRbTaSf (4, 0, 1, 0, 0), {P2, P1, F3, F2}, PSEUDO, 0, NULL},
                    379:     {"fcmp.ngt.s1",      f2, OpRaRbTaSf (4, 0, 1, 0, 1), {P2, P1, F3, F2}, EMPTY},
                    380:     {"fcmp.ngt.s2",      f2, OpRaRbTaSf (4, 0, 1, 0, 2), {P2, P1, F3, F2}, EMPTY},
                    381:     {"fcmp.ngt.s3",      f2, OpRaRbTaSf (4, 0, 1, 0, 3), {P2, P1, F3, F2}, EMPTY},
                    382:     {"fcmp.nge.s0",      f2, OpRaRbTaSf (4, 1, 0, 0, 0), {P2, P1, F3, F2}, EMPTY},
                    383:     {"fcmp.nge",         f2, OpRaRbTaSf (4, 1, 0, 0, 0), {P2, P1, F3, F2}, PSEUDO, 0, NULL},
                    384:     {"fcmp.nge.s1",      f2, OpRaRbTaSf (4, 1, 0, 0, 1), {P2, P1, F3, F2}, EMPTY},
                    385:     {"fcmp.nge.s2",      f2, OpRaRbTaSf (4, 1, 0, 0, 2), {P2, P1, F3, F2}, EMPTY},
                    386:     {"fcmp.nge.s3",      f2, OpRaRbTaSf (4, 1, 0, 0, 3), {P2, P1, F3, F2}, EMPTY},
                    387:     {"fcmp.ord.s0",      f2, OpRaRbTaSf (4, 1, 1, 0, 0), {P2, P1, F2, F3}, EMPTY},
                    388:     {"fcmp.ord",         f2, OpRaRbTaSf (4, 1, 1, 0, 0), {P2, P1, F2, F3}, PSEUDO, 0, NULL},
                    389:     {"fcmp.ord.s1",      f2, OpRaRbTaSf (4, 1, 1, 0, 1), {P2, P1, F2, F3}, EMPTY},
                    390:     {"fcmp.ord.s2",      f2, OpRaRbTaSf (4, 1, 1, 0, 2), {P2, P1, F2, F3}, EMPTY},
                    391:     {"fcmp.ord.s3",      f2, OpRaRbTaSf (4, 1, 1, 0, 3), {P2, P1, F2, F3}, EMPTY},
                    392:     {"fcmp.gt.unc.s0",   f2, OpRaRbTaSf (4, 0, 1, 1, 0), {P1, P2, F3, F2}, EMPTY},
                    393:     {"fcmp.gt.unc",      f2, OpRaRbTaSf (4, 0, 1, 1, 0), {P1, P2, F3, F2}, PSEUDO, 0, NULL},
                    394:     {"fcmp.gt.unc.s1",   f2, OpRaRbTaSf (4, 0, 1, 1, 1), {P1, P2, F3, F2}, EMPTY},
                    395:     {"fcmp.gt.unc.s2",   f2, OpRaRbTaSf (4, 0, 1, 1, 2), {P1, P2, F3, F2}, EMPTY},
                    396:     {"fcmp.gt.unc.s3",   f2, OpRaRbTaSf (4, 0, 1, 1, 3), {P1, P2, F3, F2}, EMPTY},
                    397:     {"fcmp.ge.unc.s0",   f2, OpRaRbTaSf (4, 1, 0, 1, 0), {P1, P2, F3, F2}, EMPTY},
                    398:     {"fcmp.ge.unc",      f2, OpRaRbTaSf (4, 1, 0, 1, 0), {P1, P2, F3, F2}, PSEUDO, 0, NULL},
                    399:     {"fcmp.ge.unc.s1",   f2, OpRaRbTaSf (4, 1, 0, 1, 1), {P1, P2, F3, F2}, EMPTY},
                    400:     {"fcmp.ge.unc.s2",   f2, OpRaRbTaSf (4, 1, 0, 1, 2), {P1, P2, F3, F2}, EMPTY},
                    401:     {"fcmp.ge.unc.s3",   f2, OpRaRbTaSf (4, 1, 0, 1, 3), {P1, P2, F3, F2}, EMPTY},
                    402:     {"fcmp.neq.unc.s0",          f2, OpRaRbTaSf (4, 0, 0, 1, 0), {P2, P1, F2, F3}, EMPTY},
                    403:     {"fcmp.neq.unc",     f2, OpRaRbTaSf (4, 0, 0, 1, 0), {P2, P1, F2, F3}, PSEUDO, 0, NULL},
                    404:     {"fcmp.neq.unc.s1",          f2, OpRaRbTaSf (4, 0, 0, 1, 1), {P2, P1, F2, F3}, EMPTY},
                    405:     {"fcmp.neq.unc.s2",          f2, OpRaRbTaSf (4, 0, 0, 1, 2), {P2, P1, F2, F3}, EMPTY},
                    406:     {"fcmp.neq.unc.s3",          f2, OpRaRbTaSf (4, 0, 0, 1, 3), {P2, P1, F2, F3}, EMPTY},
                    407:     {"fcmp.nlt.unc.s0",          f2, OpRaRbTaSf (4, 0, 1, 1, 0), {P2, P1, F2, F3}, EMPTY},
                    408:     {"fcmp.nlt.unc",     f2, OpRaRbTaSf (4, 0, 1, 1, 0), {P2, P1, F2, F3}, PSEUDO, 0, NULL},
                    409:     {"fcmp.nlt.unc.s1",          f2, OpRaRbTaSf (4, 0, 1, 1, 1), {P2, P1, F2, F3}, EMPTY},
                    410:     {"fcmp.nlt.unc.s2",          f2, OpRaRbTaSf (4, 0, 1, 1, 2), {P2, P1, F2, F3}, EMPTY},
                    411:     {"fcmp.nlt.unc.s3",          f2, OpRaRbTaSf (4, 0, 1, 1, 3), {P2, P1, F2, F3}, EMPTY},
                    412:     {"fcmp.nle.unc.s0",          f2, OpRaRbTaSf (4, 1, 0, 1, 0), {P2, P1, F2, F3}, EMPTY},
                    413:     {"fcmp.nle.unc",     f2, OpRaRbTaSf (4, 1, 0, 1, 0), {P2, P1, F2, F3}, PSEUDO, 0, NULL},
                    414:     {"fcmp.nle.unc.s1",          f2, OpRaRbTaSf (4, 1, 0, 1, 1), {P2, P1, F2, F3}, EMPTY},
                    415:     {"fcmp.nle.unc.s2",          f2, OpRaRbTaSf (4, 1, 0, 1, 2), {P2, P1, F2, F3}, EMPTY},
                    416:     {"fcmp.nle.unc.s3",          f2, OpRaRbTaSf (4, 1, 0, 1, 3), {P2, P1, F2, F3}, EMPTY},
                    417:     {"fcmp.ngt.unc.s0",          f2, OpRaRbTaSf (4, 0, 1, 1, 0), {P2, P1, F3, F2}, EMPTY},
                    418:     {"fcmp.ngt.unc",     f2, OpRaRbTaSf (4, 0, 1, 1, 0), {P2, P1, F3, F2}, PSEUDO, 0, NULL},
                    419:     {"fcmp.ngt.unc.s1",          f2, OpRaRbTaSf (4, 0, 1, 1, 1), {P2, P1, F3, F2}, EMPTY},
                    420:     {"fcmp.ngt.unc.s2",          f2, OpRaRbTaSf (4, 0, 1, 1, 2), {P2, P1, F3, F2}, EMPTY},
                    421:     {"fcmp.ngt.unc.s3",          f2, OpRaRbTaSf (4, 0, 1, 1, 3), {P2, P1, F3, F2}, EMPTY},
                    422:     {"fcmp.nge.unc.s0",          f2, OpRaRbTaSf (4, 1, 0, 1, 0), {P2, P1, F3, F2}, EMPTY},
                    423:     {"fcmp.nge.unc",     f2, OpRaRbTaSf (4, 1, 0, 1, 0), {P2, P1, F3, F2}, PSEUDO, 0, NULL},
                    424:     {"fcmp.nge.unc.s1",          f2, OpRaRbTaSf (4, 1, 0, 1, 1), {P2, P1, F3, F2}, EMPTY},
                    425:     {"fcmp.nge.unc.s2",          f2, OpRaRbTaSf (4, 1, 0, 1, 2), {P2, P1, F3, F2}, EMPTY},
                    426:     {"fcmp.nge.unc.s3",          f2, OpRaRbTaSf (4, 1, 0, 1, 3), {P2, P1, F3, F2}, EMPTY},
                    427:     {"fcmp.ord.unc.s0",          f2, OpRaRbTaSf (4, 1, 1, 1, 0), {P2, P1, F2, F3}, EMPTY},
                    428:     {"fcmp.ord.unc",     f2, OpRaRbTaSf (4, 1, 1, 1, 0), {P2, P1, F2, F3}, PSEUDO, 0, NULL},
                    429:     {"fcmp.ord.unc.s1",   f2, OpRaRbTaSf (4, 1, 1, 1, 1), {P2, P1, F2, F3}, EMPTY},
                    430:     {"fcmp.ord.unc.s2",   f2, OpRaRbTaSf (4, 1, 1, 1, 2), {P2, P1, F2, F3}, EMPTY},
                    431:     {"fcmp.ord.unc.s3",   f2, OpRaRbTaSf (4, 1, 1, 1, 3), {P2, P1, F2, F3}, EMPTY},
                    432:
                    433:     {"fclass.m",       f2, OpTa (5, 0), {P1, P2, F2, IMMU9}, EMPTY},
                    434:     {"fclass.nm",      f2, OpTa (5, 0), {P2, P1, F2, IMMU9}, PSEUDO, 0, NULL},
                    435:     {"fclass.m.unc",   f2, OpTa (5, 1), {P1, P2, F2, IMMU9}, EMPTY},
                    436:     {"fclass.nm.unc",  f2, OpTa (5, 1), {P2, P1, F2, IMMU9}, PSEUDO, 0, NULL},
                    437:
                    438:     /* note: fnorm and fcvt.xuf have identical encodings! */
                    439:     {"fnorm.s0",       f, OpXaSfF2F4 (0x8, 0, 0, 0, 1), {F1, F3}, PSEUDO, 0, NULL},
                    440:     {"fnorm",          f, OpXaSfF2F4 (0x8, 0, 0, 0, 1), {F1, F3}, PSEUDO, 0, NULL},
                    441:     {"fnorm.s1",       f, OpXaSfF2F4 (0x8, 0, 1, 0, 1), {F1, F3}, PSEUDO, 0, NULL},
                    442:     {"fnorm.s2",       f, OpXaSfF2F4 (0x8, 0, 2, 0, 1), {F1, F3}, PSEUDO, 0, NULL},
                    443:     {"fnorm.s3",       f, OpXaSfF2F4 (0x8, 0, 3, 0, 1), {F1, F3}, PSEUDO, 0, NULL},
                    444:     {"fnorm.s.s0",     f, OpXaSfF2F4 (0x8, 1, 0, 0, 1), {F1, F3}, PSEUDO, 0, NULL},
                    445:     {"fnorm.s",                f, OpXaSfF2F4 (0x8, 1, 0, 0, 1), {F1, F3}, PSEUDO, 0, NULL},
                    446:     {"fnorm.s.s1",     f, OpXaSfF2F4 (0x8, 1, 1, 0, 1), {F1, F3}, PSEUDO, 0, NULL},
                    447:     {"fnorm.s.s2",     f, OpXaSfF2F4 (0x8, 1, 2, 0, 1), {F1, F3}, PSEUDO, 0, NULL},
                    448:     {"fnorm.s.s3",     f, OpXaSfF2F4 (0x8, 1, 3, 0, 1), {F1, F3}, PSEUDO, 0, NULL},
                    449:     {"fcvt.xuf.s0",    f, OpXaSfF2F4 (0x8, 0, 0, 0, 1), {F1, F3}, PSEUDO, 0, NULL},
                    450:     {"fcvt.xuf",       f, OpXaSfF2F4 (0x8, 0, 0, 0, 1), {F1, F3}, PSEUDO, 0, NULL},
                    451:     {"fcvt.xuf.s1",    f, OpXaSfF2F4 (0x8, 0, 1, 0, 1), {F1, F3}, PSEUDO, 0, NULL},
                    452:     {"fcvt.xuf.s2",    f, OpXaSfF2F4 (0x8, 0, 2, 0, 1), {F1, F3}, PSEUDO, 0, NULL},
                    453:     {"fcvt.xuf.s3",    f, OpXaSfF2F4 (0x8, 0, 3, 0, 1), {F1, F3}, PSEUDO, 0, NULL},
                    454:     {"fcvt.xuf.s.s0",  f, OpXaSfF2F4 (0x8, 1, 0, 0, 1), {F1, F3}, PSEUDO, 0, NULL},
                    455:     {"fcvt.xuf.s",     f, OpXaSfF2F4 (0x8, 1, 0, 0, 1), {F1, F3}, PSEUDO, 0, NULL},
                    456:     {"fcvt.xuf.s.s1",  f, OpXaSfF2F4 (0x8, 1, 1, 0, 1), {F1, F3}, PSEUDO, 0, NULL},
                    457:     {"fcvt.xuf.s.s2",  f, OpXaSfF2F4 (0x8, 1, 2, 0, 1), {F1, F3}, PSEUDO, 0, NULL},
                    458:     {"fcvt.xuf.s.s3",  f, OpXaSfF2F4 (0x8, 1, 3, 0, 1), {F1, F3}, PSEUDO, 0, NULL},
                    459:     {"fadd.s0",                f, OpXaSfF4 (0x8, 0, 0, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    460:     {"fadd",           f, OpXaSfF4 (0x8, 0, 0, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    461:     {"fadd.s1",                f, OpXaSfF4 (0x8, 0, 1, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    462:     {"fadd.s2",                f, OpXaSfF4 (0x8, 0, 2, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    463:     {"fadd.s3",                f, OpXaSfF4 (0x8, 0, 3, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    464:     {"fadd.s.s0",      f, OpXaSfF4 (0x8, 1, 0, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    465:     {"fadd.s",         f, OpXaSfF4 (0x8, 1, 0, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    466:     {"fadd.s.s1",      f, OpXaSfF4 (0x8, 1, 1, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    467:     {"fadd.s.s2",      f, OpXaSfF4 (0x8, 1, 2, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    468:     {"fadd.s.s3",      f, OpXaSfF4 (0x8, 1, 3, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    469:     {"fmpy.s0",                f, OpXaSfF2 (0x8, 0, 0, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    470:     {"fmpy",           f, OpXaSfF2 (0x8, 0, 0, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    471:     {"fmpy.s1",                f, OpXaSfF2 (0x8, 0, 1, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    472:     {"fmpy.s2",                f, OpXaSfF2 (0x8, 0, 2, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    473:     {"fmpy.s3",                f, OpXaSfF2 (0x8, 0, 3, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    474:     {"fmpy.s.s0",      f, OpXaSfF2 (0x8, 1, 0, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    475:     {"fmpy.s",         f, OpXaSfF2 (0x8, 1, 0, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    476:     {"fmpy.s.s1",      f, OpXaSfF2 (0x8, 1, 1, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    477:     {"fmpy.s.s2",      f, OpXaSfF2 (0x8, 1, 2, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    478:     {"fmpy.s.s3",      f, OpXaSfF2 (0x8, 1, 3, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    479:     {"fma.s0",         f, OpXaSf (0x8, 0, 0), {F1, F3, F4, F2}, EMPTY},
                    480:     {"fma",            f, OpXaSf (0x8, 0, 0), {F1, F3, F4, F2}, PSEUDO, 0, NULL},
                    481:     {"fma.s1",         f, OpXaSf (0x8, 0, 1), {F1, F3, F4, F2}, EMPTY},
                    482:     {"fma.s2",         f, OpXaSf (0x8, 0, 2), {F1, F3, F4, F2}, EMPTY},
                    483:     {"fma.s3",         f, OpXaSf (0x8, 0, 3), {F1, F3, F4, F2}, EMPTY},
                    484:     {"fma.s.s0",       f, OpXaSf (0x8, 1, 0), {F1, F3, F4, F2}, EMPTY},
                    485:     {"fma.s",          f, OpXaSf (0x8, 1, 0), {F1, F3, F4, F2}, PSEUDO, 0, NULL},
                    486:     {"fma.s.s1",       f, OpXaSf (0x8, 1, 1), {F1, F3, F4, F2}, EMPTY},
                    487:     {"fma.s.s2",       f, OpXaSf (0x8, 1, 2), {F1, F3, F4, F2}, EMPTY},
                    488:     {"fma.s.s3",       f, OpXaSf (0x8, 1, 3), {F1, F3, F4, F2}, EMPTY},
                    489:
                    490:     {"fnorm.d.s0",     f, OpXaSfF2F4 (0x9, 0, 0, 0, 1), {F1, F3}, PSEUDO, 0, NULL},
                    491:     {"fnorm.d",                f, OpXaSfF2F4 (0x9, 0, 0, 0, 1), {F1, F3}, PSEUDO, 0, NULL},
                    492:     {"fnorm.d.s1",     f, OpXaSfF2F4 (0x9, 0, 1, 0, 1), {F1, F3}, PSEUDO, 0, NULL},
                    493:     {"fnorm.d.s2",     f, OpXaSfF2F4 (0x9, 0, 2, 0, 1), {F1, F3}, PSEUDO, 0, NULL},
                    494:     {"fnorm.d.s3",     f, OpXaSfF2F4 (0x9, 0, 3, 0, 1), {F1, F3}, PSEUDO, 0, NULL},
                    495:     {"fcvt.xuf.d.s0",  f, OpXaSfF2F4 (0x9, 0, 0, 0, 1), {F1, F3}, PSEUDO, 0, NULL},
                    496:     {"fcvt.xuf.d",     f, OpXaSfF2F4 (0x9, 0, 0, 0, 1), {F1, F3}, PSEUDO, 0, NULL},
                    497:     {"fcvt.xuf.d.s1",  f, OpXaSfF2F4 (0x9, 0, 1, 0, 1), {F1, F3}, PSEUDO, 0, NULL},
                    498:     {"fcvt.xuf.d.s2",  f, OpXaSfF2F4 (0x9, 0, 2, 0, 1), {F1, F3}, PSEUDO, 0, NULL},
                    499:     {"fcvt.xuf.d.s3",  f, OpXaSfF2F4 (0x9, 0, 3, 0, 1), {F1, F3}, PSEUDO, 0, NULL},
                    500:     {"fadd.d.s0",      f, OpXaSfF4 (0x9, 0, 0, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    501:     {"fadd.d",         f, OpXaSfF4 (0x9, 0, 0, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    502:     {"fadd.d.s1",      f, OpXaSfF4 (0x9, 0, 1, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    503:     {"fadd.d.s2",      f, OpXaSfF4 (0x9, 0, 2, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    504:     {"fadd.d.s3",      f, OpXaSfF4 (0x9, 0, 3, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    505:     {"fmpy.d.s0",      f, OpXaSfF2 (0x9, 0, 0, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    506:     {"fmpy.d",         f, OpXaSfF2 (0x9, 0, 0, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    507:     {"fmpy.d.s1",      f, OpXaSfF2 (0x9, 0, 1, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    508:     {"fmpy.d.s2",      f, OpXaSfF2 (0x9, 0, 2, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    509:     {"fmpy.d.s3",      f, OpXaSfF2 (0x9, 0, 3, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    510:     {"fma.d.s0",       f, OpXaSf (0x9, 0, 0), {F1, F3, F4, F2}, EMPTY},
                    511:     {"fma.d",          f, OpXaSf (0x9, 0, 0), {F1, F3, F4, F2}, PSEUDO, 0, NULL},
                    512:     {"fma.d.s1",       f, OpXaSf (0x9, 0, 1), {F1, F3, F4, F2}, EMPTY},
                    513:     {"fma.d.s2",       f, OpXaSf (0x9, 0, 2), {F1, F3, F4, F2}, EMPTY},
                    514:     {"fma.d.s3",       f, OpXaSf (0x9, 0, 3), {F1, F3, F4, F2}, EMPTY},
                    515:
                    516:     {"fpmpy.s0",       f, OpXaSfF2 (0x9, 1, 0, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    517:     {"fpmpy",          f, OpXaSfF2 (0x9, 1, 0, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    518:     {"fpmpy.s1",       f, OpXaSfF2 (0x9, 1, 1, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    519:     {"fpmpy.s2",       f, OpXaSfF2 (0x9, 1, 2, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    520:     {"fpmpy.s3",       f, OpXaSfF2 (0x9, 1, 3, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    521:     {"fpma.s0",                f, OpXaSf   (0x9, 1, 0), {F1, F3, F4, F2}, EMPTY},
                    522:     {"fpma",           f, OpXaSf   (0x9, 1, 0), {F1, F3, F4, F2}, PSEUDO, 0, NULL},
                    523:     {"fpma.s1",                f, OpXaSf   (0x9, 1, 1), {F1, F3, F4, F2}, EMPTY},
                    524:     {"fpma.s2",                f, OpXaSf   (0x9, 1, 2), {F1, F3, F4, F2}, EMPTY},
                    525:     {"fpma.s3",                f, OpXaSf   (0x9, 1, 3), {F1, F3, F4, F2}, EMPTY},
                    526:
                    527:     {"fsub.s0",                f, OpXaSfF4 (0xa, 0, 0, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    528:     {"fsub",           f, OpXaSfF4 (0xa, 0, 0, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    529:     {"fsub.s1",                f, OpXaSfF4 (0xa, 0, 1, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    530:     {"fsub.s2",                f, OpXaSfF4 (0xa, 0, 2, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    531:     {"fsub.s3",                f, OpXaSfF4 (0xa, 0, 3, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    532:     {"fsub.s.s0",      f, OpXaSfF4 (0xa, 1, 0, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    533:     {"fsub.s",         f, OpXaSfF4 (0xa, 1, 0, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    534:     {"fsub.s.s1",      f, OpXaSfF4 (0xa, 1, 1, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    535:     {"fsub.s.s2",      f, OpXaSfF4 (0xa, 1, 2, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    536:     {"fsub.s.s3",      f, OpXaSfF4 (0xa, 1, 3, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    537:     {"fms.s0",         f, OpXaSf   (0xa, 0, 0), {F1, F3, F4, F2}, EMPTY},
                    538:     {"fms",            f, OpXaSf   (0xa, 0, 0), {F1, F3, F4, F2}, PSEUDO, 0, NULL},
                    539:     {"fms.s1",         f, OpXaSf   (0xa, 0, 1), {F1, F3, F4, F2}, EMPTY},
                    540:     {"fms.s2",         f, OpXaSf   (0xa, 0, 2), {F1, F3, F4, F2}, EMPTY},
                    541:     {"fms.s3",         f, OpXaSf   (0xa, 0, 3), {F1, F3, F4, F2}, EMPTY},
                    542:     {"fms.s.s0",       f, OpXaSf   (0xa, 1, 0), {F1, F3, F4, F2}, EMPTY},
                    543:     {"fms.s",          f, OpXaSf   (0xa, 1, 0), {F1, F3, F4, F2}, PSEUDO, 0, NULL},
                    544:     {"fms.s.s1",       f, OpXaSf   (0xa, 1, 1), {F1, F3, F4, F2}, EMPTY},
                    545:     {"fms.s.s2",       f, OpXaSf   (0xa, 1, 2), {F1, F3, F4, F2}, EMPTY},
                    546:     {"fms.s.s3",       f, OpXaSf   (0xa, 1, 3), {F1, F3, F4, F2}, EMPTY},
                    547:     {"fsub.d.s0",      f, OpXaSfF4 (0xb, 0, 0, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    548:     {"fsub.d",         f, OpXaSfF4 (0xb, 0, 0, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    549:     {"fsub.d.s1",      f, OpXaSfF4 (0xb, 0, 1, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    550:     {"fsub.d.s2",      f, OpXaSfF4 (0xb, 0, 2, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    551:     {"fsub.d.s3",      f, OpXaSfF4 (0xb, 0, 3, 1), {F1, F3, F2}, PSEUDO, 0, NULL},
                    552:     {"fms.d.s0",       f, OpXaSf   (0xb, 0, 0), {F1, F3, F4, F2}, EMPTY},
                    553:     {"fms.d",          f, OpXaSf   (0xb, 0, 0), {F1, F3, F4, F2}, PSEUDO, 0, NULL},
                    554:     {"fms.d.s1",       f, OpXaSf   (0xb, 0, 1), {F1, F3, F4, F2}, EMPTY},
                    555:     {"fms.d.s2",       f, OpXaSf   (0xb, 0, 2), {F1, F3, F4, F2}, EMPTY},
                    556:     {"fms.d.s3",       f, OpXaSf   (0xb, 0, 3), {F1, F3, F4, F2}, EMPTY},
                    557:
                    558:     {"fpms.s0",                f, OpXaSf (0xb, 1, 0), {F1, F3, F4, F2}, EMPTY},
                    559:     {"fpms",           f, OpXaSf (0xb, 1, 0), {F1, F3, F4, F2}, PSEUDO, 0, NULL},
                    560:     {"fpms.s1",                f, OpXaSf (0xb, 1, 1), {F1, F3, F4, F2}, EMPTY},
                    561:     {"fpms.s2",                f, OpXaSf (0xb, 1, 2), {F1, F3, F4, F2}, EMPTY},
                    562:     {"fpms.s3",                f, OpXaSf (0xb, 1, 3), {F1, F3, F4, F2}, EMPTY},
                    563:
                    564:     {"fnmpy.s0",       f, OpXaSfF2 (0xc, 0, 0, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    565:     {"fnmpy",          f, OpXaSfF2 (0xc, 0, 0, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    566:     {"fnmpy.s1",       f, OpXaSfF2 (0xc, 0, 1, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    567:     {"fnmpy.s2",       f, OpXaSfF2 (0xc, 0, 2, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    568:     {"fnmpy.s3",       f, OpXaSfF2 (0xc, 0, 3, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    569:     {"fnmpy.s.s0",     f, OpXaSfF2 (0xc, 1, 0, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    570:     {"fnmpy.s",                f, OpXaSfF2 (0xc, 1, 0, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    571:     {"fnmpy.s.s1",     f, OpXaSfF2 (0xc, 1, 1, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    572:     {"fnmpy.s.s2",     f, OpXaSfF2 (0xc, 1, 2, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    573:     {"fnmpy.s.s3",     f, OpXaSfF2 (0xc, 1, 3, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    574:     {"fnma.s0",                f, OpXaSf (0xc, 0, 0), {F1, F3, F4, F2}, EMPTY},
                    575:     {"fnma",           f, OpXaSf (0xc, 0, 0), {F1, F3, F4, F2}, PSEUDO, 0, NULL},
                    576:     {"fnma.s1",                f, OpXaSf (0xc, 0, 1), {F1, F3, F4, F2}, EMPTY},
                    577:     {"fnma.s2",                f, OpXaSf (0xc, 0, 2), {F1, F3, F4, F2}, EMPTY},
                    578:     {"fnma.s3",                f, OpXaSf (0xc, 0, 3), {F1, F3, F4, F2}, EMPTY},
                    579:     {"fnma.s.s0",      f, OpXaSf (0xc, 1, 0), {F1, F3, F4, F2}, EMPTY},
                    580:     {"fnma.s",         f, OpXaSf (0xc, 1, 0), {F1, F3, F4, F2}, PSEUDO, 0, NULL},
                    581:     {"fnma.s.s1",      f, OpXaSf (0xc, 1, 1), {F1, F3, F4, F2}, EMPTY},
                    582:     {"fnma.s.s2",      f, OpXaSf (0xc, 1, 2), {F1, F3, F4, F2}, EMPTY},
                    583:     {"fnma.s.s3",      f, OpXaSf (0xc, 1, 3), {F1, F3, F4, F2}, EMPTY},
                    584:     {"fnmpy.d.s0",     f, OpXaSfF2 (0xd, 0, 0, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    585:     {"fnmpy.d",                f, OpXaSfF2 (0xd, 0, 0, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    586:     {"fnmpy.d.s1",     f, OpXaSfF2 (0xd, 0, 1, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    587:     {"fnmpy.d.s2",     f, OpXaSfF2 (0xd, 0, 2, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    588:     {"fnmpy.d.s3",     f, OpXaSfF2 (0xd, 0, 3, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    589:     {"fnma.d.s0",      f, OpXaSf (0xd, 0, 0), {F1, F3, F4, F2}, EMPTY},
                    590:     {"fnma.d",         f, OpXaSf (0xd, 0, 0), {F1, F3, F4, F2}, PSEUDO, 0, NULL},
                    591:     {"fnma.d.s1",      f, OpXaSf (0xd, 0, 1), {F1, F3, F4, F2}, EMPTY},
                    592:     {"fnma.d.s2",      f, OpXaSf (0xd, 0, 2), {F1, F3, F4, F2}, EMPTY},
                    593:     {"fnma.d.s3",      f, OpXaSf (0xd, 0, 3), {F1, F3, F4, F2}, EMPTY},
                    594:
                    595:     {"fpnmpy.s0",      f, OpXaSfF2 (0xd, 1, 0, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    596:     {"fpnmpy",         f, OpXaSfF2 (0xd, 1, 0, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    597:     {"fpnmpy.s1",      f, OpXaSfF2 (0xd, 1, 1, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    598:     {"fpnmpy.s2",      f, OpXaSfF2 (0xd, 1, 2, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    599:     {"fpnmpy.s3",      f, OpXaSfF2 (0xd, 1, 3, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    600:     {"fpnma.s0",       f, OpXaSf   (0xd, 1, 0), {F1, F3, F4, F2}, EMPTY},
                    601:     {"fpnma",          f, OpXaSf   (0xd, 1, 0), {F1, F3, F4, F2}, PSEUDO, 0, NULL},
                    602:     {"fpnma.s1",       f, OpXaSf   (0xd, 1, 1), {F1, F3, F4, F2}, EMPTY},
                    603:     {"fpnma.s2",       f, OpXaSf   (0xd, 1, 2), {F1, F3, F4, F2}, EMPTY},
                    604:     {"fpnma.s3",       f, OpXaSf   (0xd, 1, 3), {F1, F3, F4, F2}, EMPTY},
                    605:
                    606:     {"xmpy.l",         f, OpXaX2F2 (0xe, 1, 0, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    607:     {"xmpy.lu",                f, OpXaX2F2 (0xe, 1, 0, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    608:     {"xmpy.h",         f, OpXaX2F2 (0xe, 1, 3, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    609:     {"xmpy.hu",                f, OpXaX2F2 (0xe, 1, 2, 0), {F1, F3, F4}, PSEUDO, 0, NULL},
                    610:     {"xma.l",          f, OpXaX2 (0xe, 1, 0), {F1, F3, F4, F2}, EMPTY},
                    611:     {"xma.lu",         f, OpXaX2 (0xe, 1, 0), {F1, F3, F4, F2}, PSEUDO, 0, NULL},
                    612:     {"xma.h",          f, OpXaX2 (0xe, 1, 3), {F1, F3, F4, F2}, EMPTY},
                    613:     {"xma.hu",         f, OpXaX2 (0xe, 1, 2), {F1, F3, F4, F2}, EMPTY},
                    614:
                    615:     {"fselect",                f, OpXa (0xe, 0), {F1, F3, F4, F2}, EMPTY},
                    616:
                    617:     {NULL, 0, 0, 0, 0, {0}, 0, 0, NULL}
                    618:   };
                    619:
                    620: #undef f0
                    621: #undef f
                    622: #undef f2
                    623: #undef bF2
                    624: #undef bF4
                    625: #undef bQ
                    626: #undef bRa
                    627: #undef bRb
                    628: #undef bSf
                    629: #undef bTa
                    630: #undef bXa
                    631: #undef bXb
                    632: #undef bX2
                    633: #undef bX6
                    634: #undef mF2
                    635: #undef mF4
                    636: #undef mQ
                    637: #undef mRa
                    638: #undef mRb
                    639: #undef mSf
                    640: #undef mTa
                    641: #undef mXa
                    642: #undef mXb
                    643: #undef mX2
                    644: #undef mX6
                    645: #undef OpXa
                    646: #undef OpXaSf
                    647: #undef OpXaSfF2
                    648: #undef OpXaSfF4
                    649: #undef OpXaSfF2F4
                    650: #undef OpXaX2
                    651: #undef OpRaRbTaSf
                    652: #undef OpTa
                    653: #undef OpXbQSf
                    654: #undef OpXbX6
                    655: #undef OpXbX6F2
                    656: #undef OpXbX6Sf
                    657: #undef EMPTY

CVSweb <webmaster@jp.NetBSD.org>