184865Sobrien/* ia64-opc-m.c -- IA-64 `M' opcode table. 2218822Sdim Copyright 1998, 1999, 2000, 2002, 2005 Free Software Foundation, Inc. 384865Sobrien Contributed by David Mosberger-Tang <davidm@hpl.hp.com> 484865Sobrien 584865Sobrien This file is part of GDB, GAS, and the GNU binutils. 684865Sobrien 784865Sobrien GDB, GAS, and the GNU binutils are free software; you can redistribute 884865Sobrien them and/or modify them under the terms of the GNU General Public 984865Sobrien License as published by the Free Software Foundation; either version 1084865Sobrien 2, or (at your option) any later version. 1184865Sobrien 1284865Sobrien GDB, GAS, and the GNU binutils are distributed in the hope that they 1384865Sobrien will be useful, but WITHOUT ANY WARRANTY; without even the implied 1484865Sobrien warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See 1584865Sobrien the GNU General Public License for more details. 1684865Sobrien 1784865Sobrien You should have received a copy of the GNU General Public License 1884865Sobrien along with this file; see the file COPYING. If not, write to the 19218822Sdim Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA 20218822Sdim 02110-1301, USA. */ 2184865Sobrien 2284865Sobrien#include "ia64-opc.h" 2384865Sobrien 2484865Sobrien#define M0 IA64_TYPE_M, 0 2584865Sobrien#define M IA64_TYPE_M, 1 2684865Sobrien#define M2 IA64_TYPE_M, 2 2784865Sobrien 2884865Sobrien/* instruction bit fields: */ 2984865Sobrien#define bM(x) (((ia64_insn) ((x) & 0x1)) << 36) 3084865Sobrien#define bX(x) (((ia64_insn) ((x) & 0x1)) << 27) 3184865Sobrien#define bX2(x) (((ia64_insn) ((x) & 0x3)) << 31) 3284865Sobrien#define bX3(x) (((ia64_insn) ((x) & 0x7)) << 33) 3384865Sobrien#define bX4(x) (((ia64_insn) ((x) & 0xf)) << 27) 3484865Sobrien#define bX6a(x) (((ia64_insn) ((x) & 0x3f)) << 30) 3584865Sobrien#define bX6b(x) (((ia64_insn) ((x) & 0x3f)) << 27) 36130561Sobrien#define bX7(x) (((ia64_insn) ((x) & 0x1)) << 36) /* note: alias for bM() */ 37130561Sobrien#define bY(x) (((ia64_insn) ((x) & 0x1)) << 26) 3884865Sobrien#define bHint(x) (((ia64_insn) ((x) & 0x3)) << 28) 3984865Sobrien 4084865Sobrien#define mM bM (-1) 4184865Sobrien#define mX bX (-1) 4284865Sobrien#define mX2 bX2 (-1) 4384865Sobrien#define mX3 bX3 (-1) 4484865Sobrien#define mX4 bX4 (-1) 4584865Sobrien#define mX6a bX6a (-1) 4684865Sobrien#define mX6b bX6b (-1) 47130561Sobrien#define mX7 bX7 (-1) 48130561Sobrien#define mY bY (-1) 4984865Sobrien#define mHint bHint (-1) 5084865Sobrien 5184865Sobrien#define OpX3(a,b) (bOp (a) | bX3 (b)), (mOp | mX3) 5284865Sobrien#define OpX3X6b(a,b,c) (bOp (a) | bX3 (b) | bX6b (c)), \ 5384865Sobrien (mOp | mX3 | mX6b) 54130561Sobrien#define OpX3X6bX7(a,b,c,d) (bOp (a) | bX3 (b) | bX6b (c) | bX7 (d)), \ 55130561Sobrien (mOp | mX3 | mX6b | mX7) 5684865Sobrien#define OpX3X4(a,b,c) (bOp (a) | bX3 (b) | bX4 (c)), \ 5784865Sobrien (mOp | mX3 | mX4) 5884865Sobrien#define OpX3X4X2(a,b,c,d) (bOp (a) | bX3 (b) | bX4 (c) | bX2 (d)), \ 5984865Sobrien (mOp | mX3 | mX4 | mX2) 60130561Sobrien#define OpX3X4X2Y(a,b,c,d,e) (bOp (a) | bX3 (b) | bX4 (c) | bX2 (d) | bY (e)), \ 61130561Sobrien (mOp | mX3 | mX4 | mX2 | mY) 6284865Sobrien#define OpX6aHint(a,b,c) (bOp (a) | bX6a (b) | bHint (c)), \ 6384865Sobrien (mOp | mX6a | mHint) 6484865Sobrien#define OpXX6aHint(a,b,c,d) (bOp (a) | bX (b) | bX6a (c) | bHint (d)), \ 6584865Sobrien (mOp | mX | mX6a | mHint) 6684865Sobrien#define OpMXX6a(a,b,c,d) \ 6784865Sobrien (bOp (a) | bM (b) | bX (c) | bX6a (d)), (mOp | mM | mX | mX6a) 6884865Sobrien#define OpMXX6aHint(a,b,c,d,e) \ 6984865Sobrien (bOp (a) | bM (b) | bX (c) | bX6a (d) | bHint (e)), \ 7084865Sobrien (mOp | mM | mX | mX6a | mHint) 7184865Sobrien 72130561Sobrien/* Used to initialise unused fields in ia64_opcode struct, 73130561Sobrien in order to stop gcc from complaining. */ 74130561Sobrien#define EMPTY 0,0,NULL 75130561Sobrien 7684865Sobrienstruct ia64_opcode ia64_opcodes_m[] = 7784865Sobrien { 78130561Sobrien /* M-type instruction encodings (sorted according to major opcode). */ 7984865Sobrien 80130561Sobrien {"chk.a.nc", M0, OpX3 (0, 4), {R1, TGT25c}, EMPTY}, 81130561Sobrien {"chk.a.clr", M0, OpX3 (0, 5), {R1, TGT25c}, EMPTY}, 82130561Sobrien {"chk.a.nc", M0, OpX3 (0, 6), {F1, TGT25c}, EMPTY}, 83130561Sobrien {"chk.a.clr", M0, OpX3 (0, 7), {F1, TGT25c}, EMPTY}, 8484865Sobrien 85130561Sobrien {"invala", M0, OpX3X4X2 (0, 0, 0, 1), {}, EMPTY}, 86130561Sobrien {"fwb", M0, OpX3X4X2 (0, 0, 0, 2), {}, EMPTY}, 87130561Sobrien {"mf", M0, OpX3X4X2 (0, 0, 2, 2), {}, EMPTY}, 88130561Sobrien {"mf.a", M0, OpX3X4X2 (0, 0, 3, 2), {}, EMPTY}, 89130561Sobrien {"srlz.d", M0, OpX3X4X2 (0, 0, 0, 3), {}, EMPTY}, 90130561Sobrien {"srlz.i", M0, OpX3X4X2 (0, 0, 1, 3), {}, EMPTY}, 91130561Sobrien {"sync.i", M0, OpX3X4X2 (0, 0, 3, 3), {}, EMPTY}, 92130561Sobrien {"flushrs", M0, OpX3X4X2 (0, 0, 0xc, 0), {}, FIRST | NO_PRED, 0, NULL}, 93130561Sobrien {"loadrs", M0, OpX3X4X2 (0, 0, 0xa, 0), {}, FIRST | NO_PRED, 0, NULL}, 94130561Sobrien {"invala.e", M0, OpX3X4X2 (0, 0, 2, 1), {R1}, EMPTY}, 95130561Sobrien {"invala.e", M0, OpX3X4X2 (0, 0, 3, 1), {F1}, EMPTY}, 96130561Sobrien {"mov.m", M, OpX3X4X2 (0, 0, 8, 2), {AR3, IMM8}, EMPTY}, 9784865Sobrien 98130561Sobrien {"break.m", M0, OpX3X4X2 (0, 0, 0, 0), {IMMU21}, EMPTY}, 99130561Sobrien {"nop.m", M0, OpX3X4X2Y (0, 0, 1, 0, 0), {IMMU21}, EMPTY}, 100130561Sobrien {"hint.m", M0, OpX3X4X2Y (0, 0, 1, 0, 1), {IMMU21}, EMPTY}, 10184865Sobrien 102130561Sobrien {"sum", M0, OpX3X4 (0, 0, 4), {IMMU24}, EMPTY}, 103130561Sobrien {"rum", M0, OpX3X4 (0, 0, 5), {IMMU24}, EMPTY}, 104130561Sobrien {"ssm", M0, OpX3X4 (0, 0, 6), {IMMU24}, PRIV, 0, NULL}, 105130561Sobrien {"rsm", M0, OpX3X4 (0, 0, 7), {IMMU24}, PRIV, 0, NULL}, 10684865Sobrien 107130561Sobrien {"mov.m", M, OpX3X6b (1, 0, 0x2a), {AR3, R2}, EMPTY}, 108130561Sobrien {"mov.m", M, OpX3X6b (1, 0, 0x22), {R1, AR3}, EMPTY}, 109130561Sobrien {"mov", M, OpX3X6b (1, 0, 0x2c), {CR3, R2}, PRIV, 0, NULL}, 110130561Sobrien {"mov", M, OpX3X6b (1, 0, 0x24), {R1, CR3}, PRIV, 0, NULL}, 11184865Sobrien 112130561Sobrien {"alloc", M, OpX3 (1, 6), {R1, AR_PFS, SOF, SOL, SOR}, FIRST|NO_PRED|MOD_RRBS, 0, NULL}, 113218822Sdim {"alloc", M, OpX3 (1, 6), {R1, SOF, SOL, SOR}, PSEUDO|FIRST|NO_PRED|MOD_RRBS, 0, NULL}, 11484865Sobrien 115130561Sobrien {"mov", M, OpX3X6b (1, 0, 0x2d), {PSR_L, R2}, PRIV, 0, NULL}, 116130561Sobrien {"mov", M, OpX3X6b (1, 0, 0x29), {PSR_UM, R2}, EMPTY}, 117130561Sobrien {"mov", M, OpX3X6b (1, 0, 0x25), {R1, PSR}, PRIV, 0, NULL}, 118130561Sobrien {"mov", M, OpX3X6b (1, 0, 0x21), {R1, PSR_UM}, EMPTY}, 119130561Sobrien {"probe.r", M, OpX3X6b (1, 0, 0x38), {R1, R3, R2}, EMPTY}, 120130561Sobrien {"probe.w", M, OpX3X6b (1, 0, 0x39), {R1, R3, R2}, EMPTY}, 121130561Sobrien {"probe.r", M, OpX3X6b (1, 0, 0x18), {R1, R3, IMMU2}, EMPTY}, 122130561Sobrien {"probe.w", M, OpX3X6b (1, 0, 0x19), {R1, R3, IMMU2}, EMPTY}, 123130561Sobrien {"probe.rw.fault", M0, OpX3X6b (1, 0, 0x31), {R3, IMMU2}, EMPTY}, 124130561Sobrien {"probe.r.fault", M0, OpX3X6b (1, 0, 0x32), {R3, IMMU2}, EMPTY}, 125130561Sobrien {"probe.w.fault", M0, OpX3X6b (1, 0, 0x33), {R3, IMMU2}, EMPTY}, 126130561Sobrien {"itc.d", M0, OpX3X6b (1, 0, 0x2e), {R2}, LAST | PRIV, 0, NULL}, 127130561Sobrien {"itc.i", M0, OpX3X6b (1, 0, 0x2f), {R2}, LAST | PRIV, 0, NULL}, 12884865Sobrien 129130561Sobrien {"mov", M, OpX3X6b (1, 0, 0x00), {RR_R3, R2}, PRIV, 0, NULL}, 130130561Sobrien {"mov", M, OpX3X6b (1, 0, 0x01), {DBR_R3, R2}, PRIV, 0, NULL}, 131130561Sobrien {"mov", M, OpX3X6b (1, 0, 0x02), {IBR_R3, R2}, PRIV, 0, NULL}, 132130561Sobrien {"mov", M, OpX3X6b (1, 0, 0x03), {PKR_R3, R2}, PRIV, 0, NULL}, 133130561Sobrien {"mov", M, OpX3X6b (1, 0, 0x04), {PMC_R3, R2}, PRIV, 0, NULL}, 134130561Sobrien {"mov", M, OpX3X6b (1, 0, 0x05), {PMD_R3, R2}, PRIV, 0, NULL}, 135130561Sobrien {"mov", M, OpX3X6b (1, 0, 0x06), {MSR_R3, R2}, PRIV, 0, NULL}, 136130561Sobrien {"itr.d", M, OpX3X6b (1, 0, 0x0e), {DTR_R3, R2}, PRIV, 0, NULL}, 137130561Sobrien {"itr.i", M, OpX3X6b (1, 0, 0x0f), {ITR_R3, R2}, PRIV, 0, NULL}, 13884865Sobrien 139130561Sobrien {"mov", M, OpX3X6b (1, 0, 0x10), {R1, RR_R3}, PRIV, 0, NULL}, 140130561Sobrien {"mov", M, OpX3X6b (1, 0, 0x11), {R1, DBR_R3}, PRIV, 0, NULL}, 141130561Sobrien {"mov", M, OpX3X6b (1, 0, 0x12), {R1, IBR_R3}, PRIV, 0, NULL}, 142130561Sobrien {"mov", M, OpX3X6b (1, 0, 0x13), {R1, PKR_R3}, PRIV, 0, NULL}, 143130561Sobrien {"mov", M, OpX3X6b (1, 0, 0x14), {R1, PMC_R3}, PRIV, 0, NULL}, 144130561Sobrien {"mov", M, OpX3X6b (1, 0, 0x15), {R1, PMD_R3}, EMPTY}, 145130561Sobrien {"mov", M, OpX3X6b (1, 0, 0x16), {R1, MSR_R3}, PRIV, 0, NULL}, 146130561Sobrien {"mov", M, OpX3X6b (1, 0, 0x17), {R1, CPUID_R3}, EMPTY}, 14784865Sobrien 148130561Sobrien {"ptc.l", M0, OpX3X6b (1, 0, 0x09), {R3, R2}, PRIV, 0, NULL}, 149130561Sobrien {"ptc.g", M0, OpX3X6b (1, 0, 0x0a), {R3, R2}, LAST | PRIV, 0, NULL}, 150130561Sobrien {"ptc.ga", M0, OpX3X6b (1, 0, 0x0b), {R3, R2}, LAST | PRIV, 0, NULL}, 151130561Sobrien {"ptr.d", M0, OpX3X6b (1, 0, 0x0c), {R3, R2}, PRIV, 0, NULL}, 152130561Sobrien {"ptr.i", M0, OpX3X6b (1, 0, 0x0d), {R3, R2}, PRIV, 0, NULL}, 15384865Sobrien 154130561Sobrien {"thash", M, OpX3X6b (1, 0, 0x1a), {R1, R3}, EMPTY}, 155130561Sobrien {"ttag", M, OpX3X6b (1, 0, 0x1b), {R1, R3}, EMPTY}, 156130561Sobrien {"tpa", M, OpX3X6b (1, 0, 0x1e), {R1, R3}, PRIV, 0, NULL}, 157130561Sobrien {"tak", M, OpX3X6b (1, 0, 0x1f), {R1, R3}, PRIV, 0, NULL}, 15884865Sobrien 159130561Sobrien {"chk.s.m", M0, OpX3 (1, 1), {R2, TGT25b}, EMPTY}, 160130561Sobrien {"chk.s", M0, OpX3 (1, 3), {F2, TGT25b}, EMPTY}, 16184865Sobrien 162130561Sobrien {"fc", M0, OpX3X6bX7 (1, 0, 0x30, 0), {R3}, EMPTY}, 163130561Sobrien {"fc.i", M0, OpX3X6bX7 (1, 0, 0x30, 1), {R3}, EMPTY}, 164130561Sobrien {"ptc.e", M0, OpX3X6b (1, 0, 0x34), {R3}, PRIV, 0, NULL}, 16584865Sobrien 16684865Sobrien /* integer load */ 167130561Sobrien {"ld1", M, OpMXX6aHint (4, 0, 0, 0x00, 0), {R1, MR3}, EMPTY}, 168130561Sobrien {"ld1.nt1", M, OpMXX6aHint (4, 0, 0, 0x00, 1), {R1, MR3}, EMPTY}, 169130561Sobrien {"ld1.nta", M, OpMXX6aHint (4, 0, 0, 0x00, 3), {R1, MR3}, EMPTY}, 170130561Sobrien {"ld2", M, OpMXX6aHint (4, 0, 0, 0x01, 0), {R1, MR3}, EMPTY}, 171130561Sobrien {"ld2.nt1", M, OpMXX6aHint (4, 0, 0, 0x01, 1), {R1, MR3}, EMPTY}, 172130561Sobrien {"ld2.nta", M, OpMXX6aHint (4, 0, 0, 0x01, 3), {R1, MR3}, EMPTY}, 173130561Sobrien {"ld4", M, OpMXX6aHint (4, 0, 0, 0x02, 0), {R1, MR3}, EMPTY}, 174130561Sobrien {"ld4.nt1", M, OpMXX6aHint (4, 0, 0, 0x02, 1), {R1, MR3}, EMPTY}, 175130561Sobrien {"ld4.nta", M, OpMXX6aHint (4, 0, 0, 0x02, 3), {R1, MR3}, EMPTY}, 176130561Sobrien {"ld8", M, OpMXX6aHint (4, 0, 0, 0x03, 0), {R1, MR3}, EMPTY}, 177130561Sobrien {"ld8.nt1", M, OpMXX6aHint (4, 0, 0, 0x03, 1), {R1, MR3}, EMPTY}, 178130561Sobrien {"ld8.nta", M, OpMXX6aHint (4, 0, 0, 0x03, 3), {R1, MR3}, EMPTY}, 179130561Sobrien {"ld16", M2, OpMXX6aHint (4, 0, 1, 0x28, 0), {R1, AR_CSD, MR3}, EMPTY}, 180218822Sdim {"ld16", M, OpMXX6aHint (4, 0, 1, 0x28, 0), {R1, MR3}, PSEUDO, 0, NULL}, 181130561Sobrien {"ld16.nt1", M2, OpMXX6aHint (4, 0, 1, 0x28, 1), {R1, AR_CSD, MR3}, EMPTY}, 182218822Sdim {"ld16.nt1", M, OpMXX6aHint (4, 0, 1, 0x28, 1), {R1, MR3}, PSEUDO, 0, NULL}, 183130561Sobrien {"ld16.nta", M2, OpMXX6aHint (4, 0, 1, 0x28, 3), {R1, AR_CSD, MR3}, EMPTY}, 184218822Sdim {"ld16.nta", M, OpMXX6aHint (4, 0, 1, 0x28, 3), {R1, MR3}, PSEUDO, 0, NULL}, 185130561Sobrien {"ld1.s", M, OpMXX6aHint (4, 0, 0, 0x04, 0), {R1, MR3}, EMPTY}, 186130561Sobrien {"ld1.s.nt1", M, OpMXX6aHint (4, 0, 0, 0x04, 1), {R1, MR3}, EMPTY}, 187130561Sobrien {"ld1.s.nta", M, OpMXX6aHint (4, 0, 0, 0x04, 3), {R1, MR3}, EMPTY}, 188130561Sobrien {"ld2.s", M, OpMXX6aHint (4, 0, 0, 0x05, 0), {R1, MR3}, EMPTY}, 189130561Sobrien {"ld2.s.nt1", M, OpMXX6aHint (4, 0, 0, 0x05, 1), {R1, MR3}, EMPTY}, 190130561Sobrien {"ld2.s.nta", M, OpMXX6aHint (4, 0, 0, 0x05, 3), {R1, MR3}, EMPTY}, 191130561Sobrien {"ld4.s", M, OpMXX6aHint (4, 0, 0, 0x06, 0), {R1, MR3}, EMPTY}, 192130561Sobrien {"ld4.s.nt1", M, OpMXX6aHint (4, 0, 0, 0x06, 1), {R1, MR3}, EMPTY}, 193130561Sobrien {"ld4.s.nta", M, OpMXX6aHint (4, 0, 0, 0x06, 3), {R1, MR3}, EMPTY}, 194130561Sobrien {"ld8.s", M, OpMXX6aHint (4, 0, 0, 0x07, 0), {R1, MR3}, EMPTY}, 195130561Sobrien {"ld8.s.nt1", M, OpMXX6aHint (4, 0, 0, 0x07, 1), {R1, MR3}, EMPTY}, 196130561Sobrien {"ld8.s.nta", M, OpMXX6aHint (4, 0, 0, 0x07, 3), {R1, MR3}, EMPTY}, 197130561Sobrien {"ld1.a", M, OpMXX6aHint (4, 0, 0, 0x08, 0), {R1, MR3}, EMPTY}, 198130561Sobrien {"ld1.a.nt1", M, OpMXX6aHint (4, 0, 0, 0x08, 1), {R1, MR3}, EMPTY}, 199130561Sobrien {"ld1.a.nta", M, OpMXX6aHint (4, 0, 0, 0x08, 3), {R1, MR3}, EMPTY}, 200130561Sobrien {"ld2.a", M, OpMXX6aHint (4, 0, 0, 0x09, 0), {R1, MR3}, EMPTY}, 201130561Sobrien {"ld2.a.nt1", M, OpMXX6aHint (4, 0, 0, 0x09, 1), {R1, MR3}, EMPTY}, 202130561Sobrien {"ld2.a.nta", M, OpMXX6aHint (4, 0, 0, 0x09, 3), {R1, MR3}, EMPTY}, 203130561Sobrien {"ld4.a", M, OpMXX6aHint (4, 0, 0, 0x0a, 0), {R1, MR3}, EMPTY}, 204130561Sobrien {"ld4.a.nt1", M, OpMXX6aHint (4, 0, 0, 0x0a, 1), {R1, MR3}, EMPTY}, 205130561Sobrien {"ld4.a.nta", M, OpMXX6aHint (4, 0, 0, 0x0a, 3), {R1, MR3}, EMPTY}, 206130561Sobrien {"ld8.a", M, OpMXX6aHint (4, 0, 0, 0x0b, 0), {R1, MR3}, EMPTY}, 207130561Sobrien {"ld8.a.nt1", M, OpMXX6aHint (4, 0, 0, 0x0b, 1), {R1, MR3}, EMPTY}, 208130561Sobrien {"ld8.a.nta", M, OpMXX6aHint (4, 0, 0, 0x0b, 3), {R1, MR3}, EMPTY}, 209130561Sobrien {"ld1.sa", M, OpMXX6aHint (4, 0, 0, 0x0c, 0), {R1, MR3}, EMPTY}, 210130561Sobrien {"ld1.sa.nt1", M, OpMXX6aHint (4, 0, 0, 0x0c, 1), {R1, MR3}, EMPTY}, 211130561Sobrien {"ld1.sa.nta", M, OpMXX6aHint (4, 0, 0, 0x0c, 3), {R1, MR3}, EMPTY}, 212130561Sobrien {"ld2.sa", M, OpMXX6aHint (4, 0, 0, 0x0d, 0), {R1, MR3}, EMPTY}, 213130561Sobrien {"ld2.sa.nt1", M, OpMXX6aHint (4, 0, 0, 0x0d, 1), {R1, MR3}, EMPTY}, 214130561Sobrien {"ld2.sa.nta", M, OpMXX6aHint (4, 0, 0, 0x0d, 3), {R1, MR3}, EMPTY}, 215130561Sobrien {"ld4.sa", M, OpMXX6aHint (4, 0, 0, 0x0e, 0), {R1, MR3}, EMPTY}, 216130561Sobrien {"ld4.sa.nt1", M, OpMXX6aHint (4, 0, 0, 0x0e, 1), {R1, MR3}, EMPTY}, 217130561Sobrien {"ld4.sa.nta", M, OpMXX6aHint (4, 0, 0, 0x0e, 3), {R1, MR3}, EMPTY}, 218130561Sobrien {"ld8.sa", M, OpMXX6aHint (4, 0, 0, 0x0f, 0), {R1, MR3}, EMPTY}, 219130561Sobrien {"ld8.sa.nt1", M, OpMXX6aHint (4, 0, 0, 0x0f, 1), {R1, MR3}, EMPTY}, 220130561Sobrien {"ld8.sa.nta", M, OpMXX6aHint (4, 0, 0, 0x0f, 3), {R1, MR3}, EMPTY}, 221130561Sobrien {"ld1.bias", M, OpMXX6aHint (4, 0, 0, 0x10, 0), {R1, MR3}, EMPTY}, 222130561Sobrien {"ld1.bias.nt1", M, OpMXX6aHint (4, 0, 0, 0x10, 1), {R1, MR3}, EMPTY}, 223130561Sobrien {"ld1.bias.nta", M, OpMXX6aHint (4, 0, 0, 0x10, 3), {R1, MR3}, EMPTY}, 224130561Sobrien {"ld2.bias", M, OpMXX6aHint (4, 0, 0, 0x11, 0), {R1, MR3}, EMPTY}, 225130561Sobrien {"ld2.bias.nt1", M, OpMXX6aHint (4, 0, 0, 0x11, 1), {R1, MR3}, EMPTY}, 226130561Sobrien {"ld2.bias.nta", M, OpMXX6aHint (4, 0, 0, 0x11, 3), {R1, MR3}, EMPTY}, 227130561Sobrien {"ld4.bias", M, OpMXX6aHint (4, 0, 0, 0x12, 0), {R1, MR3}, EMPTY}, 228130561Sobrien {"ld4.bias.nt1", M, OpMXX6aHint (4, 0, 0, 0x12, 1), {R1, MR3}, EMPTY}, 229130561Sobrien {"ld4.bias.nta", M, OpMXX6aHint (4, 0, 0, 0x12, 3), {R1, MR3}, EMPTY}, 230130561Sobrien {"ld8.bias", M, OpMXX6aHint (4, 0, 0, 0x13, 0), {R1, MR3}, EMPTY}, 231130561Sobrien {"ld8.bias.nt1", M, OpMXX6aHint (4, 0, 0, 0x13, 1), {R1, MR3}, EMPTY}, 232130561Sobrien {"ld8.bias.nta", M, OpMXX6aHint (4, 0, 0, 0x13, 3), {R1, MR3}, EMPTY}, 233130561Sobrien {"ld1.acq", M, OpMXX6aHint (4, 0, 0, 0x14, 0), {R1, MR3}, EMPTY}, 234130561Sobrien {"ld1.acq.nt1", M, OpMXX6aHint (4, 0, 0, 0x14, 1), {R1, MR3}, EMPTY}, 235130561Sobrien {"ld1.acq.nta", M, OpMXX6aHint (4, 0, 0, 0x14, 3), {R1, MR3}, EMPTY}, 236130561Sobrien {"ld2.acq", M, OpMXX6aHint (4, 0, 0, 0x15, 0), {R1, MR3}, EMPTY}, 237130561Sobrien {"ld2.acq.nt1", M, OpMXX6aHint (4, 0, 0, 0x15, 1), {R1, MR3}, EMPTY}, 238130561Sobrien {"ld2.acq.nta", M, OpMXX6aHint (4, 0, 0, 0x15, 3), {R1, MR3}, EMPTY}, 239130561Sobrien {"ld4.acq", M, OpMXX6aHint (4, 0, 0, 0x16, 0), {R1, MR3}, EMPTY}, 240130561Sobrien {"ld4.acq.nt1", M, OpMXX6aHint (4, 0, 0, 0x16, 1), {R1, MR3}, EMPTY}, 241130561Sobrien {"ld4.acq.nta", M, OpMXX6aHint (4, 0, 0, 0x16, 3), {R1, MR3}, EMPTY}, 242130561Sobrien {"ld8.acq", M, OpMXX6aHint (4, 0, 0, 0x17, 0), {R1, MR3}, EMPTY}, 243130561Sobrien {"ld8.acq.nt1", M, OpMXX6aHint (4, 0, 0, 0x17, 1), {R1, MR3}, EMPTY}, 244130561Sobrien {"ld8.acq.nta", M, OpMXX6aHint (4, 0, 0, 0x17, 3), {R1, MR3}, EMPTY}, 245130561Sobrien {"ld16.acq", M2, OpMXX6aHint (4, 0, 1, 0x2c, 0), {R1, AR_CSD, MR3}, EMPTY}, 246218822Sdim {"ld16.acq", M, OpMXX6aHint (4, 0, 1, 0x2c, 0), {R1, MR3}, PSEUDO, 0, NULL}, 247130561Sobrien {"ld16.acq.nt1", M2, OpMXX6aHint (4, 0, 1, 0x2c, 1), {R1, AR_CSD, MR3}, EMPTY}, 248218822Sdim {"ld16.acq.nt1", M, OpMXX6aHint (4, 0, 1, 0x2c, 1), {R1, MR3}, PSEUDO, 0, NULL}, 249130561Sobrien {"ld16.acq.nta", M2, OpMXX6aHint (4, 0, 1, 0x2c, 3), {R1, AR_CSD, MR3}, EMPTY}, 250218822Sdim {"ld16.acq.nta", M, OpMXX6aHint (4, 0, 1, 0x2c, 3), {R1, MR3}, PSEUDO, 0, NULL}, 251130561Sobrien {"ld8.fill", M, OpMXX6aHint (4, 0, 0, 0x1b, 0), {R1, MR3}, EMPTY}, 252130561Sobrien {"ld8.fill.nt1", M, OpMXX6aHint (4, 0, 0, 0x1b, 1), {R1, MR3}, EMPTY}, 253130561Sobrien {"ld8.fill.nta", M, OpMXX6aHint (4, 0, 0, 0x1b, 3), {R1, MR3}, EMPTY}, 254130561Sobrien {"ld1.c.clr", M, OpMXX6aHint (4, 0, 0, 0x20, 0), {R1, MR3}, EMPTY}, 255130561Sobrien {"ld1.c.clr.nt1", M, OpMXX6aHint (4, 0, 0, 0x20, 1), {R1, MR3}, EMPTY}, 256130561Sobrien {"ld1.c.clr.nta", M, OpMXX6aHint (4, 0, 0, 0x20, 3), {R1, MR3}, EMPTY}, 257130561Sobrien {"ld2.c.clr", M, OpMXX6aHint (4, 0, 0, 0x21, 0), {R1, MR3}, EMPTY}, 258130561Sobrien {"ld2.c.clr.nt1", M, OpMXX6aHint (4, 0, 0, 0x21, 1), {R1, MR3}, EMPTY}, 259130561Sobrien {"ld2.c.clr.nta", M, OpMXX6aHint (4, 0, 0, 0x21, 3), {R1, MR3}, EMPTY}, 260130561Sobrien {"ld4.c.clr", M, OpMXX6aHint (4, 0, 0, 0x22, 0), {R1, MR3}, EMPTY}, 261130561Sobrien {"ld4.c.clr.nt1", M, OpMXX6aHint (4, 0, 0, 0x22, 1), {R1, MR3}, EMPTY}, 262130561Sobrien {"ld4.c.clr.nta", M, OpMXX6aHint (4, 0, 0, 0x22, 3), {R1, MR3}, EMPTY}, 263130561Sobrien {"ld8.c.clr", M, OpMXX6aHint (4, 0, 0, 0x23, 0), {R1, MR3}, EMPTY}, 264130561Sobrien {"ld8.c.clr.nt1", M, OpMXX6aHint (4, 0, 0, 0x23, 1), {R1, MR3}, EMPTY}, 265130561Sobrien {"ld8.c.clr.nta", M, OpMXX6aHint (4, 0, 0, 0x23, 3), {R1, MR3}, EMPTY}, 266130561Sobrien {"ld1.c.nc", M, OpMXX6aHint (4, 0, 0, 0x24, 0), {R1, MR3}, EMPTY}, 267130561Sobrien {"ld1.c.nc.nt1", M, OpMXX6aHint (4, 0, 0, 0x24, 1), {R1, MR3}, EMPTY}, 268130561Sobrien {"ld1.c.nc.nta", M, OpMXX6aHint (4, 0, 0, 0x24, 3), {R1, MR3}, EMPTY}, 269130561Sobrien {"ld2.c.nc", M, OpMXX6aHint (4, 0, 0, 0x25, 0), {R1, MR3}, EMPTY}, 270130561Sobrien {"ld2.c.nc.nt1", M, OpMXX6aHint (4, 0, 0, 0x25, 1), {R1, MR3}, EMPTY}, 271130561Sobrien {"ld2.c.nc.nta", M, OpMXX6aHint (4, 0, 0, 0x25, 3), {R1, MR3}, EMPTY}, 272130561Sobrien {"ld4.c.nc", M, OpMXX6aHint (4, 0, 0, 0x26, 0), {R1, MR3}, EMPTY}, 273130561Sobrien {"ld4.c.nc.nt1", M, OpMXX6aHint (4, 0, 0, 0x26, 1), {R1, MR3}, EMPTY}, 274130561Sobrien {"ld4.c.nc.nta", M, OpMXX6aHint (4, 0, 0, 0x26, 3), {R1, MR3}, EMPTY}, 275130561Sobrien {"ld8.c.nc", M, OpMXX6aHint (4, 0, 0, 0x27, 0), {R1, MR3}, EMPTY}, 276130561Sobrien {"ld8.c.nc.nt1", M, OpMXX6aHint (4, 0, 0, 0x27, 1), {R1, MR3}, EMPTY}, 277130561Sobrien {"ld8.c.nc.nta", M, OpMXX6aHint (4, 0, 0, 0x27, 3), {R1, MR3}, EMPTY}, 278130561Sobrien {"ld1.c.clr.acq", M, OpMXX6aHint (4, 0, 0, 0x28, 0), {R1, MR3}, EMPTY}, 279130561Sobrien {"ld1.c.clr.acq.nt1", M, OpMXX6aHint (4, 0, 0, 0x28, 1), {R1, MR3}, EMPTY}, 280130561Sobrien {"ld1.c.clr.acq.nta", M, OpMXX6aHint (4, 0, 0, 0x28, 3), {R1, MR3}, EMPTY}, 281130561Sobrien {"ld2.c.clr.acq", M, OpMXX6aHint (4, 0, 0, 0x29, 0), {R1, MR3}, EMPTY}, 282130561Sobrien {"ld2.c.clr.acq.nt1", M, OpMXX6aHint (4, 0, 0, 0x29, 1), {R1, MR3}, EMPTY}, 283130561Sobrien {"ld2.c.clr.acq.nta", M, OpMXX6aHint (4, 0, 0, 0x29, 3), {R1, MR3}, EMPTY}, 284130561Sobrien {"ld4.c.clr.acq", M, OpMXX6aHint (4, 0, 0, 0x2a, 0), {R1, MR3}, EMPTY}, 285130561Sobrien {"ld4.c.clr.acq.nt1", M, OpMXX6aHint (4, 0, 0, 0x2a, 1), {R1, MR3}, EMPTY}, 286130561Sobrien {"ld4.c.clr.acq.nta", M, OpMXX6aHint (4, 0, 0, 0x2a, 3), {R1, MR3}, EMPTY}, 287130561Sobrien {"ld8.c.clr.acq", M, OpMXX6aHint (4, 0, 0, 0x2b, 0), {R1, MR3}, EMPTY}, 288130561Sobrien {"ld8.c.clr.acq.nt1", M, OpMXX6aHint (4, 0, 0, 0x2b, 1), {R1, MR3}, EMPTY}, 289130561Sobrien {"ld8.c.clr.acq.nta", M, OpMXX6aHint (4, 0, 0, 0x2b, 3), {R1, MR3}, EMPTY}, 29084865Sobrien 291130561Sobrien /* Pseudo-op that generates ldxmov relocation. */ 292130561Sobrien {"ld8.mov", M, OpMXX6aHint (4, 0, 0, 0x03, 0), 293130561Sobrien {R1, MR3, IA64_OPND_LDXMOV}, EMPTY}, 294130561Sobrien 295130561Sobrien /* Integer load w/increment by register. */ 296130561Sobrien#define LDINCREG(c,h) M, OpMXX6aHint (4, 1, 0, c, h), {R1, MR3, R2}, POSTINC, 0, NULL 29784865Sobrien {"ld1", LDINCREG (0x00, 0)}, 29884865Sobrien {"ld1.nt1", LDINCREG (0x00, 1)}, 29984865Sobrien {"ld1.nta", LDINCREG (0x00, 3)}, 30084865Sobrien {"ld2", LDINCREG (0x01, 0)}, 30184865Sobrien {"ld2.nt1", LDINCREG (0x01, 1)}, 30284865Sobrien {"ld2.nta", LDINCREG (0x01, 3)}, 30384865Sobrien {"ld4", LDINCREG (0x02, 0)}, 30484865Sobrien {"ld4.nt1", LDINCREG (0x02, 1)}, 30584865Sobrien {"ld4.nta", LDINCREG (0x02, 3)}, 30684865Sobrien {"ld8", LDINCREG (0x03, 0)}, 30784865Sobrien {"ld8.nt1", LDINCREG (0x03, 1)}, 30884865Sobrien {"ld8.nta", LDINCREG (0x03, 3)}, 30984865Sobrien {"ld1.s", LDINCREG (0x04, 0)}, 31084865Sobrien {"ld1.s.nt1", LDINCREG (0x04, 1)}, 31184865Sobrien {"ld1.s.nta", LDINCREG (0x04, 3)}, 31284865Sobrien {"ld2.s", LDINCREG (0x05, 0)}, 31384865Sobrien {"ld2.s.nt1", LDINCREG (0x05, 1)}, 31484865Sobrien {"ld2.s.nta", LDINCREG (0x05, 3)}, 31584865Sobrien {"ld4.s", LDINCREG (0x06, 0)}, 31684865Sobrien {"ld4.s.nt1", LDINCREG (0x06, 1)}, 31784865Sobrien {"ld4.s.nta", LDINCREG (0x06, 3)}, 31884865Sobrien {"ld8.s", LDINCREG (0x07, 0)}, 31984865Sobrien {"ld8.s.nt1", LDINCREG (0x07, 1)}, 32084865Sobrien {"ld8.s.nta", LDINCREG (0x07, 3)}, 32184865Sobrien {"ld1.a", LDINCREG (0x08, 0)}, 32284865Sobrien {"ld1.a.nt1", LDINCREG (0x08, 1)}, 32384865Sobrien {"ld1.a.nta", LDINCREG (0x08, 3)}, 32484865Sobrien {"ld2.a", LDINCREG (0x09, 0)}, 32584865Sobrien {"ld2.a.nt1", LDINCREG (0x09, 1)}, 32684865Sobrien {"ld2.a.nta", LDINCREG (0x09, 3)}, 32784865Sobrien {"ld4.a", LDINCREG (0x0a, 0)}, 32884865Sobrien {"ld4.a.nt1", LDINCREG (0x0a, 1)}, 32984865Sobrien {"ld4.a.nta", LDINCREG (0x0a, 3)}, 33084865Sobrien {"ld8.a", LDINCREG (0x0b, 0)}, 33184865Sobrien {"ld8.a.nt1", LDINCREG (0x0b, 1)}, 33284865Sobrien {"ld8.a.nta", LDINCREG (0x0b, 3)}, 33384865Sobrien {"ld1.sa", LDINCREG (0x0c, 0)}, 33484865Sobrien {"ld1.sa.nt1", LDINCREG (0x0c, 1)}, 33584865Sobrien {"ld1.sa.nta", LDINCREG (0x0c, 3)}, 33684865Sobrien {"ld2.sa", LDINCREG (0x0d, 0)}, 33784865Sobrien {"ld2.sa.nt1", LDINCREG (0x0d, 1)}, 33884865Sobrien {"ld2.sa.nta", LDINCREG (0x0d, 3)}, 33984865Sobrien {"ld4.sa", LDINCREG (0x0e, 0)}, 34084865Sobrien {"ld4.sa.nt1", LDINCREG (0x0e, 1)}, 34184865Sobrien {"ld4.sa.nta", LDINCREG (0x0e, 3)}, 34284865Sobrien {"ld8.sa", LDINCREG (0x0f, 0)}, 34384865Sobrien {"ld8.sa.nt1", LDINCREG (0x0f, 1)}, 34484865Sobrien {"ld8.sa.nta", LDINCREG (0x0f, 3)}, 34584865Sobrien {"ld1.bias", LDINCREG (0x10, 0)}, 34684865Sobrien {"ld1.bias.nt1", LDINCREG (0x10, 1)}, 34784865Sobrien {"ld1.bias.nta", LDINCREG (0x10, 3)}, 34884865Sobrien {"ld2.bias", LDINCREG (0x11, 0)}, 34984865Sobrien {"ld2.bias.nt1", LDINCREG (0x11, 1)}, 35084865Sobrien {"ld2.bias.nta", LDINCREG (0x11, 3)}, 35184865Sobrien {"ld4.bias", LDINCREG (0x12, 0)}, 35284865Sobrien {"ld4.bias.nt1", LDINCREG (0x12, 1)}, 35384865Sobrien {"ld4.bias.nta", LDINCREG (0x12, 3)}, 35484865Sobrien {"ld8.bias", LDINCREG (0x13, 0)}, 35584865Sobrien {"ld8.bias.nt1", LDINCREG (0x13, 1)}, 35684865Sobrien {"ld8.bias.nta", LDINCREG (0x13, 3)}, 35784865Sobrien {"ld1.acq", LDINCREG (0x14, 0)}, 35884865Sobrien {"ld1.acq.nt1", LDINCREG (0x14, 1)}, 35984865Sobrien {"ld1.acq.nta", LDINCREG (0x14, 3)}, 36084865Sobrien {"ld2.acq", LDINCREG (0x15, 0)}, 36184865Sobrien {"ld2.acq.nt1", LDINCREG (0x15, 1)}, 36284865Sobrien {"ld2.acq.nta", LDINCREG (0x15, 3)}, 36384865Sobrien {"ld4.acq", LDINCREG (0x16, 0)}, 36484865Sobrien {"ld4.acq.nt1", LDINCREG (0x16, 1)}, 36584865Sobrien {"ld4.acq.nta", LDINCREG (0x16, 3)}, 36684865Sobrien {"ld8.acq", LDINCREG (0x17, 0)}, 36784865Sobrien {"ld8.acq.nt1", LDINCREG (0x17, 1)}, 36884865Sobrien {"ld8.acq.nta", LDINCREG (0x17, 3)}, 36984865Sobrien {"ld8.fill", LDINCREG (0x1b, 0)}, 37084865Sobrien {"ld8.fill.nt1", LDINCREG (0x1b, 1)}, 37184865Sobrien {"ld8.fill.nta", LDINCREG (0x1b, 3)}, 37284865Sobrien {"ld1.c.clr", LDINCREG (0x20, 0)}, 37384865Sobrien {"ld1.c.clr.nt1", LDINCREG (0x20, 1)}, 37484865Sobrien {"ld1.c.clr.nta", LDINCREG (0x20, 3)}, 37584865Sobrien {"ld2.c.clr", LDINCREG (0x21, 0)}, 37684865Sobrien {"ld2.c.clr.nt1", LDINCREG (0x21, 1)}, 37784865Sobrien {"ld2.c.clr.nta", LDINCREG (0x21, 3)}, 37884865Sobrien {"ld4.c.clr", LDINCREG (0x22, 0)}, 37984865Sobrien {"ld4.c.clr.nt1", LDINCREG (0x22, 1)}, 38084865Sobrien {"ld4.c.clr.nta", LDINCREG (0x22, 3)}, 38184865Sobrien {"ld8.c.clr", LDINCREG (0x23, 0)}, 38284865Sobrien {"ld8.c.clr.nt1", LDINCREG (0x23, 1)}, 38384865Sobrien {"ld8.c.clr.nta", LDINCREG (0x23, 3)}, 38484865Sobrien {"ld1.c.nc", LDINCREG (0x24, 0)}, 38584865Sobrien {"ld1.c.nc.nt1", LDINCREG (0x24, 1)}, 38684865Sobrien {"ld1.c.nc.nta", LDINCREG (0x24, 3)}, 38784865Sobrien {"ld2.c.nc", LDINCREG (0x25, 0)}, 38884865Sobrien {"ld2.c.nc.nt1", LDINCREG (0x25, 1)}, 38984865Sobrien {"ld2.c.nc.nta", LDINCREG (0x25, 3)}, 39084865Sobrien {"ld4.c.nc", LDINCREG (0x26, 0)}, 39184865Sobrien {"ld4.c.nc.nt1", LDINCREG (0x26, 1)}, 39284865Sobrien {"ld4.c.nc.nta", LDINCREG (0x26, 3)}, 39384865Sobrien {"ld8.c.nc", LDINCREG (0x27, 0)}, 39484865Sobrien {"ld8.c.nc.nt1", LDINCREG (0x27, 1)}, 39584865Sobrien {"ld8.c.nc.nta", LDINCREG (0x27, 3)}, 39684865Sobrien {"ld1.c.clr.acq", LDINCREG (0x28, 0)}, 39784865Sobrien {"ld1.c.clr.acq.nt1", LDINCREG (0x28, 1)}, 39884865Sobrien {"ld1.c.clr.acq.nta", LDINCREG (0x28, 3)}, 39984865Sobrien {"ld2.c.clr.acq", LDINCREG (0x29, 0)}, 40084865Sobrien {"ld2.c.clr.acq.nt1", LDINCREG (0x29, 1)}, 40184865Sobrien {"ld2.c.clr.acq.nta", LDINCREG (0x29, 3)}, 40284865Sobrien {"ld4.c.clr.acq", LDINCREG (0x2a, 0)}, 40384865Sobrien {"ld4.c.clr.acq.nt1", LDINCREG (0x2a, 1)}, 40484865Sobrien {"ld4.c.clr.acq.nta", LDINCREG (0x2a, 3)}, 40584865Sobrien {"ld8.c.clr.acq", LDINCREG (0x2b, 0)}, 40684865Sobrien {"ld8.c.clr.acq.nt1", LDINCREG (0x2b, 1)}, 40784865Sobrien {"ld8.c.clr.acq.nta", LDINCREG (0x2b, 3)}, 40884865Sobrien#undef LDINCREG 40984865Sobrien 410130561Sobrien {"st1", M, OpMXX6aHint (4, 0, 0, 0x30, 0), {MR3, R2}, EMPTY}, 411130561Sobrien {"st1.nta", M, OpMXX6aHint (4, 0, 0, 0x30, 3), {MR3, R2}, EMPTY}, 412130561Sobrien {"st2", M, OpMXX6aHint (4, 0, 0, 0x31, 0), {MR3, R2}, EMPTY}, 413130561Sobrien {"st2.nta", M, OpMXX6aHint (4, 0, 0, 0x31, 3), {MR3, R2}, EMPTY}, 414130561Sobrien {"st4", M, OpMXX6aHint (4, 0, 0, 0x32, 0), {MR3, R2}, EMPTY}, 415130561Sobrien {"st4.nta", M, OpMXX6aHint (4, 0, 0, 0x32, 3), {MR3, R2}, EMPTY}, 416130561Sobrien {"st8", M, OpMXX6aHint (4, 0, 0, 0x33, 0), {MR3, R2}, EMPTY}, 417130561Sobrien {"st8.nta", M, OpMXX6aHint (4, 0, 0, 0x33, 3), {MR3, R2}, EMPTY}, 418130561Sobrien {"st16", M, OpMXX6aHint (4, 0, 1, 0x30, 0), {MR3, R2, AR_CSD}, EMPTY}, 419218822Sdim {"st16", M, OpMXX6aHint (4, 0, 1, 0x30, 0), {MR3, R2}, PSEUDO, 0, NULL}, 420130561Sobrien {"st16.nta", M, OpMXX6aHint (4, 0, 1, 0x30, 3), {MR3, R2, AR_CSD}, EMPTY}, 421218822Sdim {"st16.nta", M, OpMXX6aHint (4, 0, 1, 0x30, 3), {MR3, R2}, PSEUDO, 0, NULL}, 422130561Sobrien {"st1.rel", M, OpMXX6aHint (4, 0, 0, 0x34, 0), {MR3, R2}, EMPTY}, 423130561Sobrien {"st1.rel.nta", M, OpMXX6aHint (4, 0, 0, 0x34, 3), {MR3, R2}, EMPTY}, 424130561Sobrien {"st2.rel", M, OpMXX6aHint (4, 0, 0, 0x35, 0), {MR3, R2}, EMPTY}, 425130561Sobrien {"st2.rel.nta", M, OpMXX6aHint (4, 0, 0, 0x35, 3), {MR3, R2}, EMPTY}, 426130561Sobrien {"st4.rel", M, OpMXX6aHint (4, 0, 0, 0x36, 0), {MR3, R2}, EMPTY}, 427130561Sobrien {"st4.rel.nta", M, OpMXX6aHint (4, 0, 0, 0x36, 3), {MR3, R2}, EMPTY}, 428130561Sobrien {"st8.rel", M, OpMXX6aHint (4, 0, 0, 0x37, 0), {MR3, R2}, EMPTY}, 429130561Sobrien {"st8.rel.nta", M, OpMXX6aHint (4, 0, 0, 0x37, 3), {MR3, R2}, EMPTY}, 430130561Sobrien {"st16.rel", M, OpMXX6aHint (4, 0, 1, 0x34, 0), {MR3, R2, AR_CSD}, EMPTY}, 431218822Sdim {"st16.rel", M, OpMXX6aHint (4, 0, 1, 0x34, 0), {MR3, R2}, PSEUDO, 0, NULL}, 432130561Sobrien {"st16.rel.nta", M, OpMXX6aHint (4, 0, 1, 0x34, 3), {MR3, R2, AR_CSD}, EMPTY}, 433218822Sdim {"st16.rel.nta", M, OpMXX6aHint (4, 0, 1, 0x34, 3), {MR3, R2}, PSEUDO, 0, NULL}, 434130561Sobrien {"st8.spill", M, OpMXX6aHint (4, 0, 0, 0x3b, 0), {MR3, R2}, EMPTY}, 435130561Sobrien {"st8.spill.nta", M, OpMXX6aHint (4, 0, 0, 0x3b, 3), {MR3, R2}, EMPTY}, 43684865Sobrien 437130561Sobrien#define CMPXCHG(c,h) M, OpMXX6aHint (4, 0, 1, c, h), {R1, MR3, R2, AR_CCV}, EMPTY 438218822Sdim#define CMPXCHG_P(c,h) M, OpMXX6aHint (4, 0, 1, c, h), {R1, MR3, R2}, PSEUDO, 0, NULL 439130561Sobrien#define CMPXCHG16(c,h) M, OpMXX6aHint (4, 0, 1, c, h), {R1, MR3, R2, AR_CSD, AR_CCV}, EMPTY 440218822Sdim#define CMPXCHG16_P(c,h) M, OpMXX6aHint (4, 0, 1, c, h), {R1, MR3, R2}, PSEUDO, 0, NULL 441218822Sdim#define CMPXCHG_acq 0 442218822Sdim#define CMPXCHG_rel 4 443218822Sdim#define CMPXCHG_1 0 444218822Sdim#define CMPXCHG_2 1 445218822Sdim#define CMPXCHG_4 2 446218822Sdim#define CMPXCHG_8 3 447218822Sdim#define CMPXCHGn(n, s) \ 448218822Sdim {"cmpxchg"#n"."#s, CMPXCHG (CMPXCHG_##n|CMPXCHG_##s, 0)}, \ 449218822Sdim {"cmpxchg"#n"."#s, CMPXCHG_P (CMPXCHG_##n|CMPXCHG_##s, 0)}, \ 450218822Sdim {"cmpxchg"#n"."#s".nt1", CMPXCHG (CMPXCHG_##n|CMPXCHG_##s, 1)}, \ 451218822Sdim {"cmpxchg"#n"."#s".nt1", CMPXCHG_P (CMPXCHG_##n|CMPXCHG_##s, 1)}, \ 452218822Sdim {"cmpxchg"#n"."#s".nta", CMPXCHG (CMPXCHG_##n|CMPXCHG_##s, 3)}, \ 453218822Sdim {"cmpxchg"#n"."#s".nta", CMPXCHG_P (CMPXCHG_##n|CMPXCHG_##s, 3)} 454218822Sdim#define CMP8XCHG16(s) \ 455218822Sdim {"cmp8xchg16."#s, CMPXCHG16 (0x20|CMPXCHG_##s, 0)}, \ 456218822Sdim {"cmp8xchg16."#s, CMPXCHG16_P (0x20|CMPXCHG_##s, 0)}, \ 457218822Sdim {"cmp8xchg16."#s".nt1", CMPXCHG16 (0x20|CMPXCHG_##s, 1)}, \ 458218822Sdim {"cmp8xchg16."#s".nt1", CMPXCHG16_P (0x20|CMPXCHG_##s, 1)}, \ 459218822Sdim {"cmp8xchg16."#s".nta", CMPXCHG16 (0x20|CMPXCHG_##s, 3)}, \ 460218822Sdim {"cmp8xchg16."#s".nta", CMPXCHG16_P (0x20|CMPXCHG_##s, 3)} 461218822Sdim#define CMPXCHG_ALL(s) CMPXCHGn(1, s), \ 462218822Sdim CMPXCHGn(2, s), \ 463218822Sdim CMPXCHGn(4, s), \ 464218822Sdim CMPXCHGn(8, s), \ 465218822Sdim CMP8XCHG16(s) 466218822Sdim CMPXCHG_ALL(acq), 467218822Sdim CMPXCHG_ALL(rel), 46884865Sobrien#undef CMPXCHG 469218822Sdim#undef CMPXCHG_P 470130561Sobrien#undef CMPXCHG16 471218822Sdim#undef CMPXCHG16_P 472218822Sdim#undef CMPXCHG_acq 473218822Sdim#undef CMPXCHG_rel 474218822Sdim#undef CMPXCHG_1 475218822Sdim#undef CMPXCHG_2 476218822Sdim#undef CMPXCHG_4 477218822Sdim#undef CMPXCHG_8 478218822Sdim#undef CMPXCHGn 479218822Sdim#undef CMPXCHG16 480218822Sdim#undef CMPXCHG_ALL 481130561Sobrien {"xchg1", M, OpMXX6aHint (4, 0, 1, 0x08, 0), {R1, MR3, R2}, EMPTY}, 482130561Sobrien {"xchg1.nt1", M, OpMXX6aHint (4, 0, 1, 0x08, 1), {R1, MR3, R2}, EMPTY}, 483130561Sobrien {"xchg1.nta", M, OpMXX6aHint (4, 0, 1, 0x08, 3), {R1, MR3, R2}, EMPTY}, 484130561Sobrien {"xchg2", M, OpMXX6aHint (4, 0, 1, 0x09, 0), {R1, MR3, R2}, EMPTY}, 485130561Sobrien {"xchg2.nt1", M, OpMXX6aHint (4, 0, 1, 0x09, 1), {R1, MR3, R2}, EMPTY}, 486130561Sobrien {"xchg2.nta", M, OpMXX6aHint (4, 0, 1, 0x09, 3), {R1, MR3, R2}, EMPTY}, 487130561Sobrien {"xchg4", M, OpMXX6aHint (4, 0, 1, 0x0a, 0), {R1, MR3, R2}, EMPTY}, 488130561Sobrien {"xchg4.nt1", M, OpMXX6aHint (4, 0, 1, 0x0a, 1), {R1, MR3, R2}, EMPTY}, 489130561Sobrien {"xchg4.nta", M, OpMXX6aHint (4, 0, 1, 0x0a, 3), {R1, MR3, R2}, EMPTY}, 490130561Sobrien {"xchg8", M, OpMXX6aHint (4, 0, 1, 0x0b, 0), {R1, MR3, R2}, EMPTY}, 491130561Sobrien {"xchg8.nt1", M, OpMXX6aHint (4, 0, 1, 0x0b, 1), {R1, MR3, R2}, EMPTY}, 492130561Sobrien {"xchg8.nta", M, OpMXX6aHint (4, 0, 1, 0x0b, 3), {R1, MR3, R2}, EMPTY}, 49384865Sobrien 494130561Sobrien {"fetchadd4.acq", M, OpMXX6aHint (4, 0, 1, 0x12, 0), {R1, MR3, INC3}, EMPTY}, 495130561Sobrien {"fetchadd4.acq.nt1", M, OpMXX6aHint (4, 0, 1, 0x12, 1), {R1, MR3, INC3}, EMPTY}, 496130561Sobrien {"fetchadd4.acq.nta", M, OpMXX6aHint (4, 0, 1, 0x12, 3), {R1, MR3, INC3}, EMPTY}, 497130561Sobrien {"fetchadd8.acq", M, OpMXX6aHint (4, 0, 1, 0x13, 0), {R1, MR3, INC3}, EMPTY}, 498130561Sobrien {"fetchadd8.acq.nt1", M, OpMXX6aHint (4, 0, 1, 0x13, 1), {R1, MR3, INC3}, EMPTY}, 499130561Sobrien {"fetchadd8.acq.nta", M, OpMXX6aHint (4, 0, 1, 0x13, 3), {R1, MR3, INC3}, EMPTY}, 500130561Sobrien {"fetchadd4.rel", M, OpMXX6aHint (4, 0, 1, 0x16, 0), {R1, MR3, INC3}, EMPTY}, 501130561Sobrien {"fetchadd4.rel.nt1", M, OpMXX6aHint (4, 0, 1, 0x16, 1), {R1, MR3, INC3}, EMPTY}, 502130561Sobrien {"fetchadd4.rel.nta", M, OpMXX6aHint (4, 0, 1, 0x16, 3), {R1, MR3, INC3}, EMPTY}, 503130561Sobrien {"fetchadd8.rel", M, OpMXX6aHint (4, 0, 1, 0x17, 0), {R1, MR3, INC3}, EMPTY}, 504130561Sobrien {"fetchadd8.rel.nt1", M, OpMXX6aHint (4, 0, 1, 0x17, 1), {R1, MR3, INC3}, EMPTY}, 505130561Sobrien {"fetchadd8.rel.nta", M, OpMXX6aHint (4, 0, 1, 0x17, 3), {R1, MR3, INC3}, EMPTY}, 50684865Sobrien 507130561Sobrien {"getf.sig", M, OpMXX6a (4, 0, 1, 0x1c), {R1, F2}, EMPTY}, 508130561Sobrien {"getf.exp", M, OpMXX6a (4, 0, 1, 0x1d), {R1, F2}, EMPTY}, 509130561Sobrien {"getf.s", M, OpMXX6a (4, 0, 1, 0x1e), {R1, F2}, EMPTY}, 510130561Sobrien {"getf.d", M, OpMXX6a (4, 0, 1, 0x1f), {R1, F2}, EMPTY}, 51184865Sobrien 512130561Sobrien /* Integer load w/increment by immediate. */ 513130561Sobrien#define LDINCIMMED(c,h) M, OpX6aHint (5, c, h), {R1, MR3, IMM9b}, POSTINC, 0, NULL 51484865Sobrien {"ld1", LDINCIMMED (0x00, 0)}, 51584865Sobrien {"ld1.nt1", LDINCIMMED (0x00, 1)}, 51684865Sobrien {"ld1.nta", LDINCIMMED (0x00, 3)}, 51784865Sobrien {"ld2", LDINCIMMED (0x01, 0)}, 51884865Sobrien {"ld2.nt1", LDINCIMMED (0x01, 1)}, 51984865Sobrien {"ld2.nta", LDINCIMMED (0x01, 3)}, 52084865Sobrien {"ld4", LDINCIMMED (0x02, 0)}, 52184865Sobrien {"ld4.nt1", LDINCIMMED (0x02, 1)}, 52284865Sobrien {"ld4.nta", LDINCIMMED (0x02, 3)}, 52384865Sobrien {"ld8", LDINCIMMED (0x03, 0)}, 52484865Sobrien {"ld8.nt1", LDINCIMMED (0x03, 1)}, 52584865Sobrien {"ld8.nta", LDINCIMMED (0x03, 3)}, 52684865Sobrien {"ld1.s", LDINCIMMED (0x04, 0)}, 52784865Sobrien {"ld1.s.nt1", LDINCIMMED (0x04, 1)}, 52884865Sobrien {"ld1.s.nta", LDINCIMMED (0x04, 3)}, 52984865Sobrien {"ld2.s", LDINCIMMED (0x05, 0)}, 53084865Sobrien {"ld2.s.nt1", LDINCIMMED (0x05, 1)}, 53184865Sobrien {"ld2.s.nta", LDINCIMMED (0x05, 3)}, 53284865Sobrien {"ld4.s", LDINCIMMED (0x06, 0)}, 53384865Sobrien {"ld4.s.nt1", LDINCIMMED (0x06, 1)}, 53484865Sobrien {"ld4.s.nta", LDINCIMMED (0x06, 3)}, 53584865Sobrien {"ld8.s", LDINCIMMED (0x07, 0)}, 53684865Sobrien {"ld8.s.nt1", LDINCIMMED (0x07, 1)}, 53784865Sobrien {"ld8.s.nta", LDINCIMMED (0x07, 3)}, 53884865Sobrien {"ld1.a", LDINCIMMED (0x08, 0)}, 53984865Sobrien {"ld1.a.nt1", LDINCIMMED (0x08, 1)}, 54084865Sobrien {"ld1.a.nta", LDINCIMMED (0x08, 3)}, 54184865Sobrien {"ld2.a", LDINCIMMED (0x09, 0)}, 54284865Sobrien {"ld2.a.nt1", LDINCIMMED (0x09, 1)}, 54384865Sobrien {"ld2.a.nta", LDINCIMMED (0x09, 3)}, 54484865Sobrien {"ld4.a", LDINCIMMED (0x0a, 0)}, 54584865Sobrien {"ld4.a.nt1", LDINCIMMED (0x0a, 1)}, 54684865Sobrien {"ld4.a.nta", LDINCIMMED (0x0a, 3)}, 54784865Sobrien {"ld8.a", LDINCIMMED (0x0b, 0)}, 54884865Sobrien {"ld8.a.nt1", LDINCIMMED (0x0b, 1)}, 54984865Sobrien {"ld8.a.nta", LDINCIMMED (0x0b, 3)}, 55084865Sobrien {"ld1.sa", LDINCIMMED (0x0c, 0)}, 55184865Sobrien {"ld1.sa.nt1", LDINCIMMED (0x0c, 1)}, 55284865Sobrien {"ld1.sa.nta", LDINCIMMED (0x0c, 3)}, 55384865Sobrien {"ld2.sa", LDINCIMMED (0x0d, 0)}, 55484865Sobrien {"ld2.sa.nt1", LDINCIMMED (0x0d, 1)}, 55584865Sobrien {"ld2.sa.nta", LDINCIMMED (0x0d, 3)}, 55684865Sobrien {"ld4.sa", LDINCIMMED (0x0e, 0)}, 55784865Sobrien {"ld4.sa.nt1", LDINCIMMED (0x0e, 1)}, 55884865Sobrien {"ld4.sa.nta", LDINCIMMED (0x0e, 3)}, 55984865Sobrien {"ld8.sa", LDINCIMMED (0x0f, 0)}, 56084865Sobrien {"ld8.sa.nt1", LDINCIMMED (0x0f, 1)}, 56184865Sobrien {"ld8.sa.nta", LDINCIMMED (0x0f, 3)}, 56284865Sobrien {"ld1.bias", LDINCIMMED (0x10, 0)}, 56384865Sobrien {"ld1.bias.nt1", LDINCIMMED (0x10, 1)}, 56484865Sobrien {"ld1.bias.nta", LDINCIMMED (0x10, 3)}, 56584865Sobrien {"ld2.bias", LDINCIMMED (0x11, 0)}, 56684865Sobrien {"ld2.bias.nt1", LDINCIMMED (0x11, 1)}, 56784865Sobrien {"ld2.bias.nta", LDINCIMMED (0x11, 3)}, 56884865Sobrien {"ld4.bias", LDINCIMMED (0x12, 0)}, 56984865Sobrien {"ld4.bias.nt1", LDINCIMMED (0x12, 1)}, 57084865Sobrien {"ld4.bias.nta", LDINCIMMED (0x12, 3)}, 57184865Sobrien {"ld8.bias", LDINCIMMED (0x13, 0)}, 57284865Sobrien {"ld8.bias.nt1", LDINCIMMED (0x13, 1)}, 57384865Sobrien {"ld8.bias.nta", LDINCIMMED (0x13, 3)}, 57484865Sobrien {"ld1.acq", LDINCIMMED (0x14, 0)}, 57584865Sobrien {"ld1.acq.nt1", LDINCIMMED (0x14, 1)}, 57684865Sobrien {"ld1.acq.nta", LDINCIMMED (0x14, 3)}, 57784865Sobrien {"ld2.acq", LDINCIMMED (0x15, 0)}, 57884865Sobrien {"ld2.acq.nt1", LDINCIMMED (0x15, 1)}, 57984865Sobrien {"ld2.acq.nta", LDINCIMMED (0x15, 3)}, 58084865Sobrien {"ld4.acq", LDINCIMMED (0x16, 0)}, 58184865Sobrien {"ld4.acq.nt1", LDINCIMMED (0x16, 1)}, 58284865Sobrien {"ld4.acq.nta", LDINCIMMED (0x16, 3)}, 58384865Sobrien {"ld8.acq", LDINCIMMED (0x17, 0)}, 58484865Sobrien {"ld8.acq.nt1", LDINCIMMED (0x17, 1)}, 58584865Sobrien {"ld8.acq.nta", LDINCIMMED (0x17, 3)}, 58684865Sobrien {"ld8.fill", LDINCIMMED (0x1b, 0)}, 58784865Sobrien {"ld8.fill.nt1", LDINCIMMED (0x1b, 1)}, 58884865Sobrien {"ld8.fill.nta", LDINCIMMED (0x1b, 3)}, 58984865Sobrien {"ld1.c.clr", LDINCIMMED (0x20, 0)}, 59084865Sobrien {"ld1.c.clr.nt1", LDINCIMMED (0x20, 1)}, 59184865Sobrien {"ld1.c.clr.nta", LDINCIMMED (0x20, 3)}, 59284865Sobrien {"ld2.c.clr", LDINCIMMED (0x21, 0)}, 59384865Sobrien {"ld2.c.clr.nt1", LDINCIMMED (0x21, 1)}, 59484865Sobrien {"ld2.c.clr.nta", LDINCIMMED (0x21, 3)}, 59584865Sobrien {"ld4.c.clr", LDINCIMMED (0x22, 0)}, 59684865Sobrien {"ld4.c.clr.nt1", LDINCIMMED (0x22, 1)}, 59784865Sobrien {"ld4.c.clr.nta", LDINCIMMED (0x22, 3)}, 59884865Sobrien {"ld8.c.clr", LDINCIMMED (0x23, 0)}, 59984865Sobrien {"ld8.c.clr.nt1", LDINCIMMED (0x23, 1)}, 60084865Sobrien {"ld8.c.clr.nta", LDINCIMMED (0x23, 3)}, 60184865Sobrien {"ld1.c.nc", LDINCIMMED (0x24, 0)}, 60284865Sobrien {"ld1.c.nc.nt1", LDINCIMMED (0x24, 1)}, 60384865Sobrien {"ld1.c.nc.nta", LDINCIMMED (0x24, 3)}, 60484865Sobrien {"ld2.c.nc", LDINCIMMED (0x25, 0)}, 60584865Sobrien {"ld2.c.nc.nt1", LDINCIMMED (0x25, 1)}, 60684865Sobrien {"ld2.c.nc.nta", LDINCIMMED (0x25, 3)}, 60784865Sobrien {"ld4.c.nc", LDINCIMMED (0x26, 0)}, 60884865Sobrien {"ld4.c.nc.nt1", LDINCIMMED (0x26, 1)}, 60984865Sobrien {"ld4.c.nc.nta", LDINCIMMED (0x26, 3)}, 61084865Sobrien {"ld8.c.nc", LDINCIMMED (0x27, 0)}, 61184865Sobrien {"ld8.c.nc.nt1", LDINCIMMED (0x27, 1)}, 61284865Sobrien {"ld8.c.nc.nta", LDINCIMMED (0x27, 3)}, 61384865Sobrien {"ld1.c.clr.acq", LDINCIMMED (0x28, 0)}, 61484865Sobrien {"ld1.c.clr.acq.nt1", LDINCIMMED (0x28, 1)}, 61584865Sobrien {"ld1.c.clr.acq.nta", LDINCIMMED (0x28, 3)}, 61684865Sobrien {"ld2.c.clr.acq", LDINCIMMED (0x29, 0)}, 61784865Sobrien {"ld2.c.clr.acq.nt1", LDINCIMMED (0x29, 1)}, 61884865Sobrien {"ld2.c.clr.acq.nta", LDINCIMMED (0x29, 3)}, 61984865Sobrien {"ld4.c.clr.acq", LDINCIMMED (0x2a, 0)}, 62084865Sobrien {"ld4.c.clr.acq.nt1", LDINCIMMED (0x2a, 1)}, 62184865Sobrien {"ld4.c.clr.acq.nta", LDINCIMMED (0x2a, 3)}, 62284865Sobrien {"ld8.c.clr.acq", LDINCIMMED (0x2b, 0)}, 62384865Sobrien {"ld8.c.clr.acq.nt1", LDINCIMMED (0x2b, 1)}, 62484865Sobrien {"ld8.c.clr.acq.nta", LDINCIMMED (0x2b, 3)}, 62584865Sobrien#undef LDINCIMMED 62684865Sobrien 627130561Sobrien /* Store w/increment by immediate. */ 628130561Sobrien#define STINCIMMED(c,h) M, OpX6aHint (5, c, h), {MR3, R2, IMM9a}, POSTINC, 0, NULL 62984865Sobrien {"st1", STINCIMMED (0x30, 0)}, 63084865Sobrien {"st1.nta", STINCIMMED (0x30, 3)}, 63184865Sobrien {"st2", STINCIMMED (0x31, 0)}, 63284865Sobrien {"st2.nta", STINCIMMED (0x31, 3)}, 63384865Sobrien {"st4", STINCIMMED (0x32, 0)}, 63484865Sobrien {"st4.nta", STINCIMMED (0x32, 3)}, 63584865Sobrien {"st8", STINCIMMED (0x33, 0)}, 63684865Sobrien {"st8.nta", STINCIMMED (0x33, 3)}, 63784865Sobrien {"st1.rel", STINCIMMED (0x34, 0)}, 63884865Sobrien {"st1.rel.nta", STINCIMMED (0x34, 3)}, 63984865Sobrien {"st2.rel", STINCIMMED (0x35, 0)}, 64084865Sobrien {"st2.rel.nta", STINCIMMED (0x35, 3)}, 64184865Sobrien {"st4.rel", STINCIMMED (0x36, 0)}, 64284865Sobrien {"st4.rel.nta", STINCIMMED (0x36, 3)}, 64384865Sobrien {"st8.rel", STINCIMMED (0x37, 0)}, 64484865Sobrien {"st8.rel.nta", STINCIMMED (0x37, 3)}, 64584865Sobrien {"st8.spill", STINCIMMED (0x3b, 0)}, 64684865Sobrien {"st8.spill.nta", STINCIMMED (0x3b, 3)}, 64784865Sobrien#undef STINCIMMED 64884865Sobrien 649130561Sobrien /* Floating-point load. */ 650130561Sobrien {"ldfs", M, OpMXX6aHint (6, 0, 0, 0x02, 0), {F1, MR3}, EMPTY}, 651130561Sobrien {"ldfs.nt1", M, OpMXX6aHint (6, 0, 0, 0x02, 1), {F1, MR3}, EMPTY}, 652130561Sobrien {"ldfs.nta", M, OpMXX6aHint (6, 0, 0, 0x02, 3), {F1, MR3}, EMPTY}, 653130561Sobrien {"ldfd", M, OpMXX6aHint (6, 0, 0, 0x03, 0), {F1, MR3}, EMPTY}, 654130561Sobrien {"ldfd.nt1", M, OpMXX6aHint (6, 0, 0, 0x03, 1), {F1, MR3}, EMPTY}, 655130561Sobrien {"ldfd.nta", M, OpMXX6aHint (6, 0, 0, 0x03, 3), {F1, MR3}, EMPTY}, 656130561Sobrien {"ldf8", M, OpMXX6aHint (6, 0, 0, 0x01, 0), {F1, MR3}, EMPTY}, 657130561Sobrien {"ldf8.nt1", M, OpMXX6aHint (6, 0, 0, 0x01, 1), {F1, MR3}, EMPTY}, 658130561Sobrien {"ldf8.nta", M, OpMXX6aHint (6, 0, 0, 0x01, 3), {F1, MR3}, EMPTY}, 659130561Sobrien {"ldfe", M, OpMXX6aHint (6, 0, 0, 0x00, 0), {F1, MR3}, EMPTY}, 660130561Sobrien {"ldfe.nt1", M, OpMXX6aHint (6, 0, 0, 0x00, 1), {F1, MR3}, EMPTY}, 661130561Sobrien {"ldfe.nta", M, OpMXX6aHint (6, 0, 0, 0x00, 3), {F1, MR3}, EMPTY}, 662130561Sobrien {"ldfs.s", M, OpMXX6aHint (6, 0, 0, 0x06, 0), {F1, MR3}, EMPTY}, 663130561Sobrien {"ldfs.s.nt1", M, OpMXX6aHint (6, 0, 0, 0x06, 1), {F1, MR3}, EMPTY}, 664130561Sobrien {"ldfs.s.nta", M, OpMXX6aHint (6, 0, 0, 0x06, 3), {F1, MR3}, EMPTY}, 665130561Sobrien {"ldfd.s", M, OpMXX6aHint (6, 0, 0, 0x07, 0), {F1, MR3}, EMPTY}, 666130561Sobrien {"ldfd.s.nt1", M, OpMXX6aHint (6, 0, 0, 0x07, 1), {F1, MR3}, EMPTY}, 667130561Sobrien {"ldfd.s.nta", M, OpMXX6aHint (6, 0, 0, 0x07, 3), {F1, MR3}, EMPTY}, 668130561Sobrien {"ldf8.s", M, OpMXX6aHint (6, 0, 0, 0x05, 0), {F1, MR3}, EMPTY}, 669130561Sobrien {"ldf8.s.nt1", M, OpMXX6aHint (6, 0, 0, 0x05, 1), {F1, MR3}, EMPTY}, 670130561Sobrien {"ldf8.s.nta", M, OpMXX6aHint (6, 0, 0, 0x05, 3), {F1, MR3}, EMPTY}, 671130561Sobrien {"ldfe.s", M, OpMXX6aHint (6, 0, 0, 0x04, 0), {F1, MR3}, EMPTY}, 672130561Sobrien {"ldfe.s.nt1", M, OpMXX6aHint (6, 0, 0, 0x04, 1), {F1, MR3}, EMPTY}, 673130561Sobrien {"ldfe.s.nta", M, OpMXX6aHint (6, 0, 0, 0x04, 3), {F1, MR3}, EMPTY}, 674130561Sobrien {"ldfs.a", M, OpMXX6aHint (6, 0, 0, 0x0a, 0), {F1, MR3}, EMPTY}, 675130561Sobrien {"ldfs.a.nt1", M, OpMXX6aHint (6, 0, 0, 0x0a, 1), {F1, MR3}, EMPTY}, 676130561Sobrien {"ldfs.a.nta", M, OpMXX6aHint (6, 0, 0, 0x0a, 3), {F1, MR3}, EMPTY}, 677130561Sobrien {"ldfd.a", M, OpMXX6aHint (6, 0, 0, 0x0b, 0), {F1, MR3}, EMPTY}, 678130561Sobrien {"ldfd.a.nt1", M, OpMXX6aHint (6, 0, 0, 0x0b, 1), {F1, MR3}, EMPTY}, 679130561Sobrien {"ldfd.a.nta", M, OpMXX6aHint (6, 0, 0, 0x0b, 3), {F1, MR3}, EMPTY}, 680130561Sobrien {"ldf8.a", M, OpMXX6aHint (6, 0, 0, 0x09, 0), {F1, MR3}, EMPTY}, 681130561Sobrien {"ldf8.a.nt1", M, OpMXX6aHint (6, 0, 0, 0x09, 1), {F1, MR3}, EMPTY}, 682130561Sobrien {"ldf8.a.nta", M, OpMXX6aHint (6, 0, 0, 0x09, 3), {F1, MR3}, EMPTY}, 683130561Sobrien {"ldfe.a", M, OpMXX6aHint (6, 0, 0, 0x08, 0), {F1, MR3}, EMPTY}, 684130561Sobrien {"ldfe.a.nt1", M, OpMXX6aHint (6, 0, 0, 0x08, 1), {F1, MR3}, EMPTY}, 685130561Sobrien {"ldfe.a.nta", M, OpMXX6aHint (6, 0, 0, 0x08, 3), {F1, MR3}, EMPTY}, 686130561Sobrien {"ldfs.sa", M, OpMXX6aHint (6, 0, 0, 0x0e, 0), {F1, MR3}, EMPTY}, 687130561Sobrien {"ldfs.sa.nt1", M, OpMXX6aHint (6, 0, 0, 0x0e, 1), {F1, MR3}, EMPTY}, 688130561Sobrien {"ldfs.sa.nta", M, OpMXX6aHint (6, 0, 0, 0x0e, 3), {F1, MR3}, EMPTY}, 689130561Sobrien {"ldfd.sa", M, OpMXX6aHint (6, 0, 0, 0x0f, 0), {F1, MR3}, EMPTY}, 690130561Sobrien {"ldfd.sa.nt1", M, OpMXX6aHint (6, 0, 0, 0x0f, 1), {F1, MR3}, EMPTY}, 691130561Sobrien {"ldfd.sa.nta", M, OpMXX6aHint (6, 0, 0, 0x0f, 3), {F1, MR3}, EMPTY}, 692130561Sobrien {"ldf8.sa", M, OpMXX6aHint (6, 0, 0, 0x0d, 0), {F1, MR3}, EMPTY}, 693130561Sobrien {"ldf8.sa.nt1", M, OpMXX6aHint (6, 0, 0, 0x0d, 1), {F1, MR3}, EMPTY}, 694130561Sobrien {"ldf8.sa.nta", M, OpMXX6aHint (6, 0, 0, 0x0d, 3), {F1, MR3}, EMPTY}, 695130561Sobrien {"ldfe.sa", M, OpMXX6aHint (6, 0, 0, 0x0c, 0), {F1, MR3}, EMPTY}, 696130561Sobrien {"ldfe.sa.nt1", M, OpMXX6aHint (6, 0, 0, 0x0c, 1), {F1, MR3}, EMPTY}, 697130561Sobrien {"ldfe.sa.nta", M, OpMXX6aHint (6, 0, 0, 0x0c, 3), {F1, MR3}, EMPTY}, 698130561Sobrien {"ldf.fill", M, OpMXX6aHint (6, 0, 0, 0x1b, 0), {F1, MR3}, EMPTY}, 699130561Sobrien {"ldf.fill.nt1", M, OpMXX6aHint (6, 0, 0, 0x1b, 1), {F1, MR3}, EMPTY}, 700130561Sobrien {"ldf.fill.nta", M, OpMXX6aHint (6, 0, 0, 0x1b, 3), {F1, MR3}, EMPTY}, 701130561Sobrien {"ldfs.c.clr", M, OpMXX6aHint (6, 0, 0, 0x22, 0), {F1, MR3}, EMPTY}, 702130561Sobrien {"ldfs.c.clr.nt1", M, OpMXX6aHint (6, 0, 0, 0x22, 1), {F1, MR3}, EMPTY}, 703130561Sobrien {"ldfs.c.clr.nta", M, OpMXX6aHint (6, 0, 0, 0x22, 3), {F1, MR3}, EMPTY}, 704130561Sobrien {"ldfd.c.clr", M, OpMXX6aHint (6, 0, 0, 0x23, 0), {F1, MR3}, EMPTY}, 705130561Sobrien {"ldfd.c.clr.nt1", M, OpMXX6aHint (6, 0, 0, 0x23, 1), {F1, MR3}, EMPTY}, 706130561Sobrien {"ldfd.c.clr.nta", M, OpMXX6aHint (6, 0, 0, 0x23, 3), {F1, MR3}, EMPTY}, 707130561Sobrien {"ldf8.c.clr", M, OpMXX6aHint (6, 0, 0, 0x21, 0), {F1, MR3}, EMPTY}, 708130561Sobrien {"ldf8.c.clr.nt1", M, OpMXX6aHint (6, 0, 0, 0x21, 1), {F1, MR3}, EMPTY}, 709130561Sobrien {"ldf8.c.clr.nta", M, OpMXX6aHint (6, 0, 0, 0x21, 3), {F1, MR3}, EMPTY}, 710130561Sobrien {"ldfe.c.clr", M, OpMXX6aHint (6, 0, 0, 0x20, 0), {F1, MR3}, EMPTY}, 711130561Sobrien {"ldfe.c.clr.nt1", M, OpMXX6aHint (6, 0, 0, 0x20, 1), {F1, MR3}, EMPTY}, 712130561Sobrien {"ldfe.c.clr.nta", M, OpMXX6aHint (6, 0, 0, 0x20, 3), {F1, MR3}, EMPTY}, 713130561Sobrien {"ldfs.c.nc", M, OpMXX6aHint (6, 0, 0, 0x26, 0), {F1, MR3}, EMPTY}, 714130561Sobrien {"ldfs.c.nc.nt1", M, OpMXX6aHint (6, 0, 0, 0x26, 1), {F1, MR3}, EMPTY}, 715130561Sobrien {"ldfs.c.nc.nta", M, OpMXX6aHint (6, 0, 0, 0x26, 3), {F1, MR3}, EMPTY}, 716130561Sobrien {"ldfd.c.nc", M, OpMXX6aHint (6, 0, 0, 0x27, 0), {F1, MR3}, EMPTY}, 717130561Sobrien {"ldfd.c.nc.nt1", M, OpMXX6aHint (6, 0, 0, 0x27, 1), {F1, MR3}, EMPTY}, 718130561Sobrien {"ldfd.c.nc.nta", M, OpMXX6aHint (6, 0, 0, 0x27, 3), {F1, MR3}, EMPTY}, 719130561Sobrien {"ldf8.c.nc", M, OpMXX6aHint (6, 0, 0, 0x25, 0), {F1, MR3}, EMPTY}, 720130561Sobrien {"ldf8.c.nc.nt1", M, OpMXX6aHint (6, 0, 0, 0x25, 1), {F1, MR3}, EMPTY}, 721130561Sobrien {"ldf8.c.nc.nta", M, OpMXX6aHint (6, 0, 0, 0x25, 3), {F1, MR3}, EMPTY}, 722130561Sobrien {"ldfe.c.nc", M, OpMXX6aHint (6, 0, 0, 0x24, 0), {F1, MR3}, EMPTY}, 723130561Sobrien {"ldfe.c.nc.nt1", M, OpMXX6aHint (6, 0, 0, 0x24, 1), {F1, MR3}, EMPTY}, 724130561Sobrien {"ldfe.c.nc.nta", M, OpMXX6aHint (6, 0, 0, 0x24, 3), {F1, MR3}, EMPTY}, 72584865Sobrien 726130561Sobrien /* Floating-point load w/increment by register. */ 727130561Sobrien#define FLDINCREG(c,h) M, OpMXX6aHint (6, 1, 0, c, h), {F1, MR3, R2}, POSTINC, 0, NULL 72884865Sobrien {"ldfs", FLDINCREG (0x02, 0)}, 72984865Sobrien {"ldfs.nt1", FLDINCREG (0x02, 1)}, 73084865Sobrien {"ldfs.nta", FLDINCREG (0x02, 3)}, 73184865Sobrien {"ldfd", FLDINCREG (0x03, 0)}, 73284865Sobrien {"ldfd.nt1", FLDINCREG (0x03, 1)}, 73384865Sobrien {"ldfd.nta", FLDINCREG (0x03, 3)}, 73484865Sobrien {"ldf8", FLDINCREG (0x01, 0)}, 73584865Sobrien {"ldf8.nt1", FLDINCREG (0x01, 1)}, 73684865Sobrien {"ldf8.nta", FLDINCREG (0x01, 3)}, 73784865Sobrien {"ldfe", FLDINCREG (0x00, 0)}, 73884865Sobrien {"ldfe.nt1", FLDINCREG (0x00, 1)}, 73984865Sobrien {"ldfe.nta", FLDINCREG (0x00, 3)}, 74084865Sobrien {"ldfs.s", FLDINCREG (0x06, 0)}, 74184865Sobrien {"ldfs.s.nt1", FLDINCREG (0x06, 1)}, 74284865Sobrien {"ldfs.s.nta", FLDINCREG (0x06, 3)}, 74384865Sobrien {"ldfd.s", FLDINCREG (0x07, 0)}, 74484865Sobrien {"ldfd.s.nt1", FLDINCREG (0x07, 1)}, 74584865Sobrien {"ldfd.s.nta", FLDINCREG (0x07, 3)}, 74684865Sobrien {"ldf8.s", FLDINCREG (0x05, 0)}, 74784865Sobrien {"ldf8.s.nt1", FLDINCREG (0x05, 1)}, 74884865Sobrien {"ldf8.s.nta", FLDINCREG (0x05, 3)}, 74984865Sobrien {"ldfe.s", FLDINCREG (0x04, 0)}, 75084865Sobrien {"ldfe.s.nt1", FLDINCREG (0x04, 1)}, 75184865Sobrien {"ldfe.s.nta", FLDINCREG (0x04, 3)}, 75284865Sobrien {"ldfs.a", FLDINCREG (0x0a, 0)}, 75384865Sobrien {"ldfs.a.nt1", FLDINCREG (0x0a, 1)}, 75484865Sobrien {"ldfs.a.nta", FLDINCREG (0x0a, 3)}, 75584865Sobrien {"ldfd.a", FLDINCREG (0x0b, 0)}, 75684865Sobrien {"ldfd.a.nt1", FLDINCREG (0x0b, 1)}, 75784865Sobrien {"ldfd.a.nta", FLDINCREG (0x0b, 3)}, 75884865Sobrien {"ldf8.a", FLDINCREG (0x09, 0)}, 75984865Sobrien {"ldf8.a.nt1", FLDINCREG (0x09, 1)}, 76084865Sobrien {"ldf8.a.nta", FLDINCREG (0x09, 3)}, 76184865Sobrien {"ldfe.a", FLDINCREG (0x08, 0)}, 76284865Sobrien {"ldfe.a.nt1", FLDINCREG (0x08, 1)}, 76384865Sobrien {"ldfe.a.nta", FLDINCREG (0x08, 3)}, 76484865Sobrien {"ldfs.sa", FLDINCREG (0x0e, 0)}, 76584865Sobrien {"ldfs.sa.nt1", FLDINCREG (0x0e, 1)}, 76684865Sobrien {"ldfs.sa.nta", FLDINCREG (0x0e, 3)}, 76784865Sobrien {"ldfd.sa", FLDINCREG (0x0f, 0)}, 76884865Sobrien {"ldfd.sa.nt1", FLDINCREG (0x0f, 1)}, 76984865Sobrien {"ldfd.sa.nta", FLDINCREG (0x0f, 3)}, 77084865Sobrien {"ldf8.sa", FLDINCREG (0x0d, 0)}, 77184865Sobrien {"ldf8.sa.nt1", FLDINCREG (0x0d, 1)}, 77284865Sobrien {"ldf8.sa.nta", FLDINCREG (0x0d, 3)}, 77384865Sobrien {"ldfe.sa", FLDINCREG (0x0c, 0)}, 77484865Sobrien {"ldfe.sa.nt1", FLDINCREG (0x0c, 1)}, 77584865Sobrien {"ldfe.sa.nta", FLDINCREG (0x0c, 3)}, 77684865Sobrien {"ldf.fill", FLDINCREG (0x1b, 0)}, 77784865Sobrien {"ldf.fill.nt1", FLDINCREG (0x1b, 1)}, 77884865Sobrien {"ldf.fill.nta", FLDINCREG (0x1b, 3)}, 77984865Sobrien {"ldfs.c.clr", FLDINCREG (0x22, 0)}, 78084865Sobrien {"ldfs.c.clr.nt1", FLDINCREG (0x22, 1)}, 78184865Sobrien {"ldfs.c.clr.nta", FLDINCREG (0x22, 3)}, 78284865Sobrien {"ldfd.c.clr", FLDINCREG (0x23, 0)}, 78384865Sobrien {"ldfd.c.clr.nt1", FLDINCREG (0x23, 1)}, 78484865Sobrien {"ldfd.c.clr.nta", FLDINCREG (0x23, 3)}, 78584865Sobrien {"ldf8.c.clr", FLDINCREG (0x21, 0)}, 78684865Sobrien {"ldf8.c.clr.nt1", FLDINCREG (0x21, 1)}, 78784865Sobrien {"ldf8.c.clr.nta", FLDINCREG (0x21, 3)}, 78884865Sobrien {"ldfe.c.clr", FLDINCREG (0x20, 0)}, 78984865Sobrien {"ldfe.c.clr.nt1", FLDINCREG (0x20, 1)}, 79084865Sobrien {"ldfe.c.clr.nta", FLDINCREG (0x20, 3)}, 79184865Sobrien {"ldfs.c.nc", FLDINCREG (0x26, 0)}, 79284865Sobrien {"ldfs.c.nc.nt1", FLDINCREG (0x26, 1)}, 79384865Sobrien {"ldfs.c.nc.nta", FLDINCREG (0x26, 3)}, 79484865Sobrien {"ldfd.c.nc", FLDINCREG (0x27, 0)}, 79584865Sobrien {"ldfd.c.nc.nt1", FLDINCREG (0x27, 1)}, 79684865Sobrien {"ldfd.c.nc.nta", FLDINCREG (0x27, 3)}, 79784865Sobrien {"ldf8.c.nc", FLDINCREG (0x25, 0)}, 79884865Sobrien {"ldf8.c.nc.nt1", FLDINCREG (0x25, 1)}, 79984865Sobrien {"ldf8.c.nc.nta", FLDINCREG (0x25, 3)}, 80084865Sobrien {"ldfe.c.nc", FLDINCREG (0x24, 0)}, 80184865Sobrien {"ldfe.c.nc.nt1", FLDINCREG (0x24, 1)}, 80284865Sobrien {"ldfe.c.nc.nta", FLDINCREG (0x24, 3)}, 80384865Sobrien#undef FLDINCREG 80484865Sobrien 805130561Sobrien /* Floating-point store. */ 806130561Sobrien {"stfs", M, OpMXX6aHint (6, 0, 0, 0x32, 0), {MR3, F2}, EMPTY}, 807130561Sobrien {"stfs.nta", M, OpMXX6aHint (6, 0, 0, 0x32, 3), {MR3, F2}, EMPTY}, 808130561Sobrien {"stfd", M, OpMXX6aHint (6, 0, 0, 0x33, 0), {MR3, F2}, EMPTY}, 809130561Sobrien {"stfd.nta", M, OpMXX6aHint (6, 0, 0, 0x33, 3), {MR3, F2}, EMPTY}, 810130561Sobrien {"stf8", M, OpMXX6aHint (6, 0, 0, 0x31, 0), {MR3, F2}, EMPTY}, 811130561Sobrien {"stf8.nta", M, OpMXX6aHint (6, 0, 0, 0x31, 3), {MR3, F2}, EMPTY}, 812130561Sobrien {"stfe", M, OpMXX6aHint (6, 0, 0, 0x30, 0), {MR3, F2}, EMPTY}, 813130561Sobrien {"stfe.nta", M, OpMXX6aHint (6, 0, 0, 0x30, 3), {MR3, F2}, EMPTY}, 814130561Sobrien {"stf.spill", M, OpMXX6aHint (6, 0, 0, 0x3b, 0), {MR3, F2}, EMPTY}, 815130561Sobrien {"stf.spill.nta", M, OpMXX6aHint (6, 0, 0, 0x3b, 3), {MR3, F2}, EMPTY}, 81684865Sobrien 817130561Sobrien /* Floating-point load pair. */ 818130561Sobrien {"ldfps", M2, OpMXX6aHint (6, 0, 1, 0x02, 0), {F1, F2, MR3}, EMPTY}, 819130561Sobrien {"ldfps.nt1", M2, OpMXX6aHint (6, 0, 1, 0x02, 1), {F1, F2, MR3}, EMPTY}, 820130561Sobrien {"ldfps.nta", M2, OpMXX6aHint (6, 0, 1, 0x02, 3), {F1, F2, MR3}, EMPTY}, 821130561Sobrien {"ldfpd", M2, OpMXX6aHint (6, 0, 1, 0x03, 0), {F1, F2, MR3}, EMPTY}, 822130561Sobrien {"ldfpd.nt1", M2, OpMXX6aHint (6, 0, 1, 0x03, 1), {F1, F2, MR3}, EMPTY}, 823130561Sobrien {"ldfpd.nta", M2, OpMXX6aHint (6, 0, 1, 0x03, 3), {F1, F2, MR3}, EMPTY}, 824130561Sobrien {"ldfp8", M2, OpMXX6aHint (6, 0, 1, 0x01, 0), {F1, F2, MR3}, EMPTY}, 825130561Sobrien {"ldfp8.nt1", M2, OpMXX6aHint (6, 0, 1, 0x01, 1), {F1, F2, MR3}, EMPTY}, 826130561Sobrien {"ldfp8.nta", M2, OpMXX6aHint (6, 0, 1, 0x01, 3), {F1, F2, MR3}, EMPTY}, 827130561Sobrien {"ldfps.s", M2, OpMXX6aHint (6, 0, 1, 0x06, 0), {F1, F2, MR3}, EMPTY}, 828130561Sobrien {"ldfps.s.nt1", M2, OpMXX6aHint (6, 0, 1, 0x06, 1), {F1, F2, MR3}, EMPTY}, 829130561Sobrien {"ldfps.s.nta", M2, OpMXX6aHint (6, 0, 1, 0x06, 3), {F1, F2, MR3}, EMPTY}, 830130561Sobrien {"ldfpd.s", M2, OpMXX6aHint (6, 0, 1, 0x07, 0), {F1, F2, MR3}, EMPTY}, 831130561Sobrien {"ldfpd.s.nt1", M2, OpMXX6aHint (6, 0, 1, 0x07, 1), {F1, F2, MR3}, EMPTY}, 832130561Sobrien {"ldfpd.s.nta", M2, OpMXX6aHint (6, 0, 1, 0x07, 3), {F1, F2, MR3}, EMPTY}, 833130561Sobrien {"ldfp8.s", M2, OpMXX6aHint (6, 0, 1, 0x05, 0), {F1, F2, MR3}, EMPTY}, 834130561Sobrien {"ldfp8.s.nt1", M2, OpMXX6aHint (6, 0, 1, 0x05, 1), {F1, F2, MR3}, EMPTY}, 835130561Sobrien {"ldfp8.s.nta", M2, OpMXX6aHint (6, 0, 1, 0x05, 3), {F1, F2, MR3}, EMPTY}, 836130561Sobrien {"ldfps.a", M2, OpMXX6aHint (6, 0, 1, 0x0a, 0), {F1, F2, MR3}, EMPTY}, 837130561Sobrien {"ldfps.a.nt1", M2, OpMXX6aHint (6, 0, 1, 0x0a, 1), {F1, F2, MR3}, EMPTY}, 838130561Sobrien {"ldfps.a.nta", M2, OpMXX6aHint (6, 0, 1, 0x0a, 3), {F1, F2, MR3}, EMPTY}, 839130561Sobrien {"ldfpd.a", M2, OpMXX6aHint (6, 0, 1, 0x0b, 0), {F1, F2, MR3}, EMPTY}, 840130561Sobrien {"ldfpd.a.nt1", M2, OpMXX6aHint (6, 0, 1, 0x0b, 1), {F1, F2, MR3}, EMPTY}, 841130561Sobrien {"ldfpd.a.nta", M2, OpMXX6aHint (6, 0, 1, 0x0b, 3), {F1, F2, MR3}, EMPTY}, 842130561Sobrien {"ldfp8.a", M2, OpMXX6aHint (6, 0, 1, 0x09, 0), {F1, F2, MR3}, EMPTY}, 843130561Sobrien {"ldfp8.a.nt1", M2, OpMXX6aHint (6, 0, 1, 0x09, 1), {F1, F2, MR3}, EMPTY}, 844130561Sobrien {"ldfp8.a.nta", M2, OpMXX6aHint (6, 0, 1, 0x09, 3), {F1, F2, MR3}, EMPTY}, 845130561Sobrien {"ldfps.sa", M2, OpMXX6aHint (6, 0, 1, 0x0e, 0), {F1, F2, MR3}, EMPTY}, 846130561Sobrien {"ldfps.sa.nt1", M2, OpMXX6aHint (6, 0, 1, 0x0e, 1), {F1, F2, MR3}, EMPTY}, 847130561Sobrien {"ldfps.sa.nta", M2, OpMXX6aHint (6, 0, 1, 0x0e, 3), {F1, F2, MR3}, EMPTY}, 848130561Sobrien {"ldfpd.sa", M2, OpMXX6aHint (6, 0, 1, 0x0f, 0), {F1, F2, MR3}, EMPTY}, 849130561Sobrien {"ldfpd.sa.nt1", M2, OpMXX6aHint (6, 0, 1, 0x0f, 1), {F1, F2, MR3}, EMPTY}, 850130561Sobrien {"ldfpd.sa.nta", M2, OpMXX6aHint (6, 0, 1, 0x0f, 3), {F1, F2, MR3}, EMPTY}, 851130561Sobrien {"ldfp8.sa", M2, OpMXX6aHint (6, 0, 1, 0x0d, 0), {F1, F2, MR3}, EMPTY}, 852130561Sobrien {"ldfp8.sa.nt1", M2, OpMXX6aHint (6, 0, 1, 0x0d, 1), {F1, F2, MR3}, EMPTY}, 853130561Sobrien {"ldfp8.sa.nta", M2, OpMXX6aHint (6, 0, 1, 0x0d, 3), {F1, F2, MR3}, EMPTY}, 854130561Sobrien {"ldfps.c.clr", M2, OpMXX6aHint (6, 0, 1, 0x22, 0), {F1, F2, MR3}, EMPTY}, 855130561Sobrien {"ldfps.c.clr.nt1", M2, OpMXX6aHint (6, 0, 1, 0x22, 1), {F1, F2, MR3}, EMPTY}, 856130561Sobrien {"ldfps.c.clr.nta", M2, OpMXX6aHint (6, 0, 1, 0x22, 3), {F1, F2, MR3}, EMPTY}, 857130561Sobrien {"ldfpd.c.clr", M2, OpMXX6aHint (6, 0, 1, 0x23, 0), {F1, F2, MR3}, EMPTY}, 858130561Sobrien {"ldfpd.c.clr.nt1", M2, OpMXX6aHint (6, 0, 1, 0x23, 1), {F1, F2, MR3}, EMPTY}, 859130561Sobrien {"ldfpd.c.clr.nta", M2, OpMXX6aHint (6, 0, 1, 0x23, 3), {F1, F2, MR3}, EMPTY}, 860130561Sobrien {"ldfp8.c.clr", M2, OpMXX6aHint (6, 0, 1, 0x21, 0), {F1, F2, MR3}, EMPTY}, 861130561Sobrien {"ldfp8.c.clr.nt1", M2, OpMXX6aHint (6, 0, 1, 0x21, 1), {F1, F2, MR3}, EMPTY}, 862130561Sobrien {"ldfp8.c.clr.nta", M2, OpMXX6aHint (6, 0, 1, 0x21, 3), {F1, F2, MR3}, EMPTY}, 863130561Sobrien {"ldfps.c.nc", M2, OpMXX6aHint (6, 0, 1, 0x26, 0), {F1, F2, MR3}, EMPTY}, 864130561Sobrien {"ldfps.c.nc.nt1", M2, OpMXX6aHint (6, 0, 1, 0x26, 1), {F1, F2, MR3}, EMPTY}, 865130561Sobrien {"ldfps.c.nc.nta", M2, OpMXX6aHint (6, 0, 1, 0x26, 3), {F1, F2, MR3}, EMPTY}, 866130561Sobrien {"ldfpd.c.nc", M2, OpMXX6aHint (6, 0, 1, 0x27, 0), {F1, F2, MR3}, EMPTY}, 867130561Sobrien {"ldfpd.c.nc.nt1", M2, OpMXX6aHint (6, 0, 1, 0x27, 1), {F1, F2, MR3}, EMPTY}, 868130561Sobrien {"ldfpd.c.nc.nta", M2, OpMXX6aHint (6, 0, 1, 0x27, 3), {F1, F2, MR3}, EMPTY}, 869130561Sobrien {"ldfp8.c.nc", M2, OpMXX6aHint (6, 0, 1, 0x25, 0), {F1, F2, MR3}, EMPTY}, 870130561Sobrien {"ldfp8.c.nc.nt1", M2, OpMXX6aHint (6, 0, 1, 0x25, 1), {F1, F2, MR3}, EMPTY}, 871130561Sobrien {"ldfp8.c.nc.nta", M2, OpMXX6aHint (6, 0, 1, 0x25, 3), {F1, F2, MR3}, EMPTY}, 87284865Sobrien 873130561Sobrien /* Floating-point load pair w/increment by immediate. */ 874130561Sobrien#define LD(a,b,c) M2, OpMXX6aHint (6, 1, 1, a, b), {F1, F2, MR3, c}, POSTINC, 0, NULL 87584865Sobrien {"ldfps", LD (0x02, 0, C8)}, 87684865Sobrien {"ldfps.nt1", LD (0x02, 1, C8)}, 87784865Sobrien {"ldfps.nta", LD (0x02, 3, C8)}, 87884865Sobrien {"ldfpd", LD (0x03, 0, C16)}, 87984865Sobrien {"ldfpd.nt1", LD (0x03, 1, C16)}, 88084865Sobrien {"ldfpd.nta", LD (0x03, 3, C16)}, 88184865Sobrien {"ldfp8", LD (0x01, 0, C16)}, 88284865Sobrien {"ldfp8.nt1", LD (0x01, 1, C16)}, 88384865Sobrien {"ldfp8.nta", LD (0x01, 3, C16)}, 88484865Sobrien {"ldfps.s", LD (0x06, 0, C8)}, 88584865Sobrien {"ldfps.s.nt1", LD (0x06, 1, C8)}, 88684865Sobrien {"ldfps.s.nta", LD (0x06, 3, C8)}, 88784865Sobrien {"ldfpd.s", LD (0x07, 0, C16)}, 88884865Sobrien {"ldfpd.s.nt1", LD (0x07, 1, C16)}, 88984865Sobrien {"ldfpd.s.nta", LD (0x07, 3, C16)}, 89084865Sobrien {"ldfp8.s", LD (0x05, 0, C16)}, 89184865Sobrien {"ldfp8.s.nt1", LD (0x05, 1, C16)}, 89284865Sobrien {"ldfp8.s.nta", LD (0x05, 3, C16)}, 89384865Sobrien {"ldfps.a", LD (0x0a, 0, C8)}, 89484865Sobrien {"ldfps.a.nt1", LD (0x0a, 1, C8)}, 89584865Sobrien {"ldfps.a.nta", LD (0x0a, 3, C8)}, 89684865Sobrien {"ldfpd.a", LD (0x0b, 0, C16)}, 89784865Sobrien {"ldfpd.a.nt1", LD (0x0b, 1, C16)}, 89884865Sobrien {"ldfpd.a.nta", LD (0x0b, 3, C16)}, 89984865Sobrien {"ldfp8.a", LD (0x09, 0, C16)}, 90084865Sobrien {"ldfp8.a.nt1", LD (0x09, 1, C16)}, 90184865Sobrien {"ldfp8.a.nta", LD (0x09, 3, C16)}, 90284865Sobrien {"ldfps.sa", LD (0x0e, 0, C8)}, 90384865Sobrien {"ldfps.sa.nt1", LD (0x0e, 1, C8)}, 90484865Sobrien {"ldfps.sa.nta", LD (0x0e, 3, C8)}, 90584865Sobrien {"ldfpd.sa", LD (0x0f, 0, C16)}, 90684865Sobrien {"ldfpd.sa.nt1", LD (0x0f, 1, C16)}, 90784865Sobrien {"ldfpd.sa.nta", LD (0x0f, 3, C16)}, 90884865Sobrien {"ldfp8.sa", LD (0x0d, 0, C16)}, 90984865Sobrien {"ldfp8.sa.nt1", LD (0x0d, 1, C16)}, 91084865Sobrien {"ldfp8.sa.nta", LD (0x0d, 3, C16)}, 91184865Sobrien {"ldfps.c.clr", LD (0x22, 0, C8)}, 91284865Sobrien {"ldfps.c.clr.nt1", LD (0x22, 1, C8)}, 91384865Sobrien {"ldfps.c.clr.nta", LD (0x22, 3, C8)}, 91484865Sobrien {"ldfpd.c.clr", LD (0x23, 0, C16)}, 91584865Sobrien {"ldfpd.c.clr.nt1", LD (0x23, 1, C16)}, 91684865Sobrien {"ldfpd.c.clr.nta", LD (0x23, 3, C16)}, 91784865Sobrien {"ldfp8.c.clr", LD (0x21, 0, C16)}, 91884865Sobrien {"ldfp8.c.clr.nt1", LD (0x21, 1, C16)}, 91984865Sobrien {"ldfp8.c.clr.nta", LD (0x21, 3, C16)}, 92084865Sobrien {"ldfps.c.nc", LD (0x26, 0, C8)}, 92184865Sobrien {"ldfps.c.nc.nt1", LD (0x26, 1, C8)}, 92284865Sobrien {"ldfps.c.nc.nta", LD (0x26, 3, C8)}, 92384865Sobrien {"ldfpd.c.nc", LD (0x27, 0, C16)}, 92484865Sobrien {"ldfpd.c.nc.nt1", LD (0x27, 1, C16)}, 92584865Sobrien {"ldfpd.c.nc.nta", LD (0x27, 3, C16)}, 92684865Sobrien {"ldfp8.c.nc", LD (0x25, 0, C16)}, 92784865Sobrien {"ldfp8.c.nc.nt1", LD (0x25, 1, C16)}, 92884865Sobrien {"ldfp8.c.nc.nta", LD (0x25, 3, C16)}, 92984865Sobrien#undef LD 93084865Sobrien 931130561Sobrien /* Line prefetch. */ 932130561Sobrien {"lfetch", M0, OpMXX6aHint (6, 0, 0, 0x2c, 0), {MR3}, EMPTY}, 933130561Sobrien {"lfetch.nt1", M0, OpMXX6aHint (6, 0, 0, 0x2c, 1), {MR3}, EMPTY}, 934130561Sobrien {"lfetch.nt2", M0, OpMXX6aHint (6, 0, 0, 0x2c, 2), {MR3}, EMPTY}, 935130561Sobrien {"lfetch.nta", M0, OpMXX6aHint (6, 0, 0, 0x2c, 3), {MR3}, EMPTY}, 936130561Sobrien {"lfetch.excl", M0, OpMXX6aHint (6, 0, 0, 0x2d, 0), {MR3}, EMPTY}, 937130561Sobrien {"lfetch.excl.nt1", M0, OpMXX6aHint (6, 0, 0, 0x2d, 1), {MR3}, EMPTY}, 938130561Sobrien {"lfetch.excl.nt2", M0, OpMXX6aHint (6, 0, 0, 0x2d, 2), {MR3}, EMPTY}, 939130561Sobrien {"lfetch.excl.nta", M0, OpMXX6aHint (6, 0, 0, 0x2d, 3), {MR3}, EMPTY}, 940130561Sobrien {"lfetch.fault", M0, OpMXX6aHint (6, 0, 0, 0x2e, 0), {MR3}, EMPTY}, 941130561Sobrien {"lfetch.fault.nt1", M0, OpMXX6aHint (6, 0, 0, 0x2e, 1), {MR3}, EMPTY}, 942130561Sobrien {"lfetch.fault.nt2", M0, OpMXX6aHint (6, 0, 0, 0x2e, 2), {MR3}, EMPTY}, 943130561Sobrien {"lfetch.fault.nta", M0, OpMXX6aHint (6, 0, 0, 0x2e, 3), {MR3}, EMPTY}, 944130561Sobrien {"lfetch.fault.excl", M0, OpMXX6aHint (6, 0, 0, 0x2f, 0), {MR3}, EMPTY}, 945130561Sobrien {"lfetch.fault.excl.nt1", M0, OpMXX6aHint (6, 0, 0, 0x2f, 1), {MR3}, EMPTY}, 946130561Sobrien {"lfetch.fault.excl.nt2", M0, OpMXX6aHint (6, 0, 0, 0x2f, 2), {MR3}, EMPTY}, 947130561Sobrien {"lfetch.fault.excl.nta", M0, OpMXX6aHint (6, 0, 0, 0x2f, 3), {MR3}, EMPTY}, 94884865Sobrien 949130561Sobrien /* Line prefetch w/increment by register. */ 950130561Sobrien#define LFETCHINCREG(c,h) M0, OpMXX6aHint (6, 1, 0, c, h), {MR3, R2}, POSTINC, 0, NULL 95184865Sobrien {"lfetch", LFETCHINCREG (0x2c, 0)}, 95284865Sobrien {"lfetch.nt1", LFETCHINCREG (0x2c, 1)}, 95384865Sobrien {"lfetch.nt2", LFETCHINCREG (0x2c, 2)}, 95484865Sobrien {"lfetch.nta", LFETCHINCREG (0x2c, 3)}, 95584865Sobrien {"lfetch.excl", LFETCHINCREG (0x2d, 0)}, 95684865Sobrien {"lfetch.excl.nt1", LFETCHINCREG (0x2d, 1)}, 95784865Sobrien {"lfetch.excl.nt2", LFETCHINCREG (0x2d, 2)}, 95884865Sobrien {"lfetch.excl.nta", LFETCHINCREG (0x2d, 3)}, 95984865Sobrien {"lfetch.fault", LFETCHINCREG (0x2e, 0)}, 96084865Sobrien {"lfetch.fault.nt1", LFETCHINCREG (0x2e, 1)}, 96184865Sobrien {"lfetch.fault.nt2", LFETCHINCREG (0x2e, 2)}, 96284865Sobrien {"lfetch.fault.nta", LFETCHINCREG (0x2e, 3)}, 96384865Sobrien {"lfetch.fault.excl", LFETCHINCREG (0x2f, 0)}, 96484865Sobrien {"lfetch.fault.excl.nt1", LFETCHINCREG (0x2f, 1)}, 96584865Sobrien {"lfetch.fault.excl.nt2", LFETCHINCREG (0x2f, 2)}, 96684865Sobrien {"lfetch.fault.excl.nta", LFETCHINCREG (0x2f, 3)}, 96784865Sobrien#undef LFETCHINCREG 96884865Sobrien 969130561Sobrien /* Semaphore operations. */ 970130561Sobrien {"setf.sig", M, OpMXX6a (6, 0, 1, 0x1c), {F1, R2}, EMPTY}, 971130561Sobrien {"setf.exp", M, OpMXX6a (6, 0, 1, 0x1d), {F1, R2}, EMPTY}, 972130561Sobrien {"setf.s", M, OpMXX6a (6, 0, 1, 0x1e), {F1, R2}, EMPTY}, 973130561Sobrien {"setf.d", M, OpMXX6a (6, 0, 1, 0x1f), {F1, R2}, EMPTY}, 97484865Sobrien 975130561Sobrien /* Floating-point load w/increment by immediate. */ 976130561Sobrien#define FLDINCIMMED(c,h) M, OpX6aHint (7, c, h), {F1, MR3, IMM9b}, POSTINC, 0, NULL 97784865Sobrien {"ldfs", FLDINCIMMED (0x02, 0)}, 97884865Sobrien {"ldfs.nt1", FLDINCIMMED (0x02, 1)}, 97984865Sobrien {"ldfs.nta", FLDINCIMMED (0x02, 3)}, 98084865Sobrien {"ldfd", FLDINCIMMED (0x03, 0)}, 98184865Sobrien {"ldfd.nt1", FLDINCIMMED (0x03, 1)}, 98284865Sobrien {"ldfd.nta", FLDINCIMMED (0x03, 3)}, 98384865Sobrien {"ldf8", FLDINCIMMED (0x01, 0)}, 98484865Sobrien {"ldf8.nt1", FLDINCIMMED (0x01, 1)}, 98584865Sobrien {"ldf8.nta", FLDINCIMMED (0x01, 3)}, 98684865Sobrien {"ldfe", FLDINCIMMED (0x00, 0)}, 98784865Sobrien {"ldfe.nt1", FLDINCIMMED (0x00, 1)}, 98884865Sobrien {"ldfe.nta", FLDINCIMMED (0x00, 3)}, 98984865Sobrien {"ldfs.s", FLDINCIMMED (0x06, 0)}, 99084865Sobrien {"ldfs.s.nt1", FLDINCIMMED (0x06, 1)}, 99184865Sobrien {"ldfs.s.nta", FLDINCIMMED (0x06, 3)}, 99284865Sobrien {"ldfd.s", FLDINCIMMED (0x07, 0)}, 99384865Sobrien {"ldfd.s.nt1", FLDINCIMMED (0x07, 1)}, 99484865Sobrien {"ldfd.s.nta", FLDINCIMMED (0x07, 3)}, 99584865Sobrien {"ldf8.s", FLDINCIMMED (0x05, 0)}, 99684865Sobrien {"ldf8.s.nt1", FLDINCIMMED (0x05, 1)}, 99784865Sobrien {"ldf8.s.nta", FLDINCIMMED (0x05, 3)}, 99884865Sobrien {"ldfe.s", FLDINCIMMED (0x04, 0)}, 99984865Sobrien {"ldfe.s.nt1", FLDINCIMMED (0x04, 1)}, 100084865Sobrien {"ldfe.s.nta", FLDINCIMMED (0x04, 3)}, 100184865Sobrien {"ldfs.a", FLDINCIMMED (0x0a, 0)}, 100284865Sobrien {"ldfs.a.nt1", FLDINCIMMED (0x0a, 1)}, 100384865Sobrien {"ldfs.a.nta", FLDINCIMMED (0x0a, 3)}, 100484865Sobrien {"ldfd.a", FLDINCIMMED (0x0b, 0)}, 100584865Sobrien {"ldfd.a.nt1", FLDINCIMMED (0x0b, 1)}, 100684865Sobrien {"ldfd.a.nta", FLDINCIMMED (0x0b, 3)}, 100784865Sobrien {"ldf8.a", FLDINCIMMED (0x09, 0)}, 100884865Sobrien {"ldf8.a.nt1", FLDINCIMMED (0x09, 1)}, 100984865Sobrien {"ldf8.a.nta", FLDINCIMMED (0x09, 3)}, 101084865Sobrien {"ldfe.a", FLDINCIMMED (0x08, 0)}, 101184865Sobrien {"ldfe.a.nt1", FLDINCIMMED (0x08, 1)}, 101284865Sobrien {"ldfe.a.nta", FLDINCIMMED (0x08, 3)}, 101384865Sobrien {"ldfs.sa", FLDINCIMMED (0x0e, 0)}, 101484865Sobrien {"ldfs.sa.nt1", FLDINCIMMED (0x0e, 1)}, 101584865Sobrien {"ldfs.sa.nta", FLDINCIMMED (0x0e, 3)}, 101684865Sobrien {"ldfd.sa", FLDINCIMMED (0x0f, 0)}, 101784865Sobrien {"ldfd.sa.nt1", FLDINCIMMED (0x0f, 1)}, 101884865Sobrien {"ldfd.sa.nta", FLDINCIMMED (0x0f, 3)}, 101984865Sobrien {"ldf8.sa", FLDINCIMMED (0x0d, 0)}, 102084865Sobrien {"ldf8.sa.nt1", FLDINCIMMED (0x0d, 1)}, 102184865Sobrien {"ldf8.sa.nta", FLDINCIMMED (0x0d, 3)}, 102284865Sobrien {"ldfe.sa", FLDINCIMMED (0x0c, 0)}, 102384865Sobrien {"ldfe.sa.nt1", FLDINCIMMED (0x0c, 1)}, 102484865Sobrien {"ldfe.sa.nta", FLDINCIMMED (0x0c, 3)}, 102584865Sobrien {"ldf.fill", FLDINCIMMED (0x1b, 0)}, 102684865Sobrien {"ldf.fill.nt1", FLDINCIMMED (0x1b, 1)}, 102784865Sobrien {"ldf.fill.nta", FLDINCIMMED (0x1b, 3)}, 102884865Sobrien {"ldfs.c.clr", FLDINCIMMED (0x22, 0)}, 102984865Sobrien {"ldfs.c.clr.nt1", FLDINCIMMED (0x22, 1)}, 103084865Sobrien {"ldfs.c.clr.nta", FLDINCIMMED (0x22, 3)}, 103184865Sobrien {"ldfd.c.clr", FLDINCIMMED (0x23, 0)}, 103284865Sobrien {"ldfd.c.clr.nt1", FLDINCIMMED (0x23, 1)}, 103384865Sobrien {"ldfd.c.clr.nta", FLDINCIMMED (0x23, 3)}, 103484865Sobrien {"ldf8.c.clr", FLDINCIMMED (0x21, 0)}, 103584865Sobrien {"ldf8.c.clr.nt1", FLDINCIMMED (0x21, 1)}, 103684865Sobrien {"ldf8.c.clr.nta", FLDINCIMMED (0x21, 3)}, 103784865Sobrien {"ldfe.c.clr", FLDINCIMMED (0x20, 0)}, 103884865Sobrien {"ldfe.c.clr.nt1", FLDINCIMMED (0x20, 1)}, 103984865Sobrien {"ldfe.c.clr.nta", FLDINCIMMED (0x20, 3)}, 104084865Sobrien {"ldfs.c.nc", FLDINCIMMED (0x26, 0)}, 104184865Sobrien {"ldfs.c.nc.nt1", FLDINCIMMED (0x26, 1)}, 104284865Sobrien {"ldfs.c.nc.nta", FLDINCIMMED (0x26, 3)}, 104384865Sobrien {"ldfd.c.nc", FLDINCIMMED (0x27, 0)}, 104484865Sobrien {"ldfd.c.nc.nt1", FLDINCIMMED (0x27, 1)}, 104584865Sobrien {"ldfd.c.nc.nta", FLDINCIMMED (0x27, 3)}, 104684865Sobrien {"ldf8.c.nc", FLDINCIMMED (0x25, 0)}, 104784865Sobrien {"ldf8.c.nc.nt1", FLDINCIMMED (0x25, 1)}, 104884865Sobrien {"ldf8.c.nc.nta", FLDINCIMMED (0x25, 3)}, 104984865Sobrien {"ldfe.c.nc", FLDINCIMMED (0x24, 0)}, 105084865Sobrien {"ldfe.c.nc.nt1", FLDINCIMMED (0x24, 1)}, 105184865Sobrien {"ldfe.c.nc.nta", FLDINCIMMED (0x24, 3)}, 105284865Sobrien#undef FLDINCIMMED 105384865Sobrien 1054130561Sobrien /* Floating-point store w/increment by immediate. */ 1055130561Sobrien#define FSTINCIMMED(c,h) M, OpX6aHint (7, c, h), {MR3, F2, IMM9a}, POSTINC, 0, NULL 105684865Sobrien {"stfs", FSTINCIMMED (0x32, 0)}, 105784865Sobrien {"stfs.nta", FSTINCIMMED (0x32, 3)}, 105884865Sobrien {"stfd", FSTINCIMMED (0x33, 0)}, 105984865Sobrien {"stfd.nta", FSTINCIMMED (0x33, 3)}, 106084865Sobrien {"stf8", FSTINCIMMED (0x31, 0)}, 106184865Sobrien {"stf8.nta", FSTINCIMMED (0x31, 3)}, 106284865Sobrien {"stfe", FSTINCIMMED (0x30, 0)}, 106384865Sobrien {"stfe.nta", FSTINCIMMED (0x30, 3)}, 106484865Sobrien {"stf.spill", FSTINCIMMED (0x3b, 0)}, 106584865Sobrien {"stf.spill.nta", FSTINCIMMED (0x3b, 3)}, 106684865Sobrien#undef FSTINCIMMED 106784865Sobrien 1068130561Sobrien /* Line prefetch w/increment by immediate. */ 1069130561Sobrien#define LFETCHINCIMMED(c,h) M0, OpX6aHint (7, c, h), {MR3, IMM9b}, POSTINC, 0, NULL 107084865Sobrien {"lfetch", LFETCHINCIMMED (0x2c, 0)}, 107184865Sobrien {"lfetch.nt1", LFETCHINCIMMED (0x2c, 1)}, 107284865Sobrien {"lfetch.nt2", LFETCHINCIMMED (0x2c, 2)}, 107384865Sobrien {"lfetch.nta", LFETCHINCIMMED (0x2c, 3)}, 107484865Sobrien {"lfetch.excl", LFETCHINCIMMED (0x2d, 0)}, 107584865Sobrien {"lfetch.excl.nt1", LFETCHINCIMMED (0x2d, 1)}, 107684865Sobrien {"lfetch.excl.nt2", LFETCHINCIMMED (0x2d, 2)}, 107784865Sobrien {"lfetch.excl.nta", LFETCHINCIMMED (0x2d, 3)}, 107884865Sobrien {"lfetch.fault", LFETCHINCIMMED (0x2e, 0)}, 107984865Sobrien {"lfetch.fault.nt1", LFETCHINCIMMED (0x2e, 1)}, 108084865Sobrien {"lfetch.fault.nt2", LFETCHINCIMMED (0x2e, 2)}, 108184865Sobrien {"lfetch.fault.nta", LFETCHINCIMMED (0x2e, 3)}, 108284865Sobrien {"lfetch.fault.excl", LFETCHINCIMMED (0x2f, 0)}, 108384865Sobrien {"lfetch.fault.excl.nt1", LFETCHINCIMMED (0x2f, 1)}, 108484865Sobrien {"lfetch.fault.excl.nt2", LFETCHINCIMMED (0x2f, 2)}, 108584865Sobrien {"lfetch.fault.excl.nta", LFETCHINCIMMED (0x2f, 3)}, 108684865Sobrien#undef LFETCHINCIMMED 108784865Sobrien 1088130561Sobrien {NULL, 0, 0, 0, 0, {0}, 0, 0, NULL} 108984865Sobrien }; 109084865Sobrien 109184865Sobrien#undef M0 109284865Sobrien#undef M 109384865Sobrien#undef M2 109484865Sobrien#undef bM 109584865Sobrien#undef bX 109684865Sobrien#undef bX2 109784865Sobrien#undef bX3 109884865Sobrien#undef bX4 109984865Sobrien#undef bX6a 110084865Sobrien#undef bX6b 110184865Sobrien#undef bHint 110284865Sobrien#undef mM 110384865Sobrien#undef mX 110484865Sobrien#undef mX2 110584865Sobrien#undef mX3 110684865Sobrien#undef mX4 110784865Sobrien#undef mX6a 110884865Sobrien#undef mX6b 110984865Sobrien#undef mHint 111084865Sobrien#undef OpX3 111184865Sobrien#undef OpX3X6b 111284865Sobrien#undef OpX3X4 111384865Sobrien#undef OpX3X4X2 111484865Sobrien#undef OpX6aHint 111584865Sobrien#undef OpXX6aHint 111684865Sobrien#undef OpMXX6a 111784865Sobrien#undef OpMXX6aHint 1118130561Sobrien#undef EMPTY 1119