1 | /* ia64-opc-m.c -- IA-64 `M' opcode table.
|
---|
2 | Copyright 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
|
---|
3 | Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
|
---|
4 |
|
---|
5 | This file is part of GDB, GAS, and the GNU binutils.
|
---|
6 |
|
---|
7 | GDB, GAS, and the GNU binutils are free software; you can redistribute
|
---|
8 | them and/or modify them under the terms of the GNU General Public
|
---|
9 | License as published by the Free Software Foundation; either version
|
---|
10 | 2, or (at your option) any later version.
|
---|
11 |
|
---|
12 | GDB, GAS, and the GNU binutils are distributed in the hope that they
|
---|
13 | will be useful, but WITHOUT ANY WARRANTY; without even the implied
|
---|
14 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
|
---|
15 | the GNU General Public License for more details.
|
---|
16 |
|
---|
17 | You should have received a copy of the GNU General Public License
|
---|
18 | along with this file; see the file COPYING. If not, write to the
|
---|
19 | Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
---|
20 | 02111-1307, USA. */
|
---|
21 |
|
---|
22 | #include "ia64-opc.h"
|
---|
23 |
|
---|
24 | #define M0 IA64_TYPE_M, 0
|
---|
25 | #define M IA64_TYPE_M, 1
|
---|
26 | #define M2 IA64_TYPE_M, 2
|
---|
27 |
|
---|
28 | /* instruction bit fields: */
|
---|
29 | #define bM(x) (((ia64_insn) ((x) & 0x1)) << 36)
|
---|
30 | #define bX(x) (((ia64_insn) ((x) & 0x1)) << 27)
|
---|
31 | #define bX2(x) (((ia64_insn) ((x) & 0x3)) << 31)
|
---|
32 | #define bX3(x) (((ia64_insn) ((x) & 0x7)) << 33)
|
---|
33 | #define bX4(x) (((ia64_insn) ((x) & 0xf)) << 27)
|
---|
34 | #define bX6a(x) (((ia64_insn) ((x) & 0x3f)) << 30)
|
---|
35 | #define bX6b(x) (((ia64_insn) ((x) & 0x3f)) << 27)
|
---|
36 | #define bX7(x) (((ia64_insn) ((x) & 0x1)) << 36) /* note: alias for bM() */
|
---|
37 | #define bY(x) (((ia64_insn) ((x) & 0x1)) << 26)
|
---|
38 | #define bHint(x) (((ia64_insn) ((x) & 0x3)) << 28)
|
---|
39 |
|
---|
40 | #define mM bM (-1)
|
---|
41 | #define mX bX (-1)
|
---|
42 | #define mX2 bX2 (-1)
|
---|
43 | #define mX3 bX3 (-1)
|
---|
44 | #define mX4 bX4 (-1)
|
---|
45 | #define mX6a bX6a (-1)
|
---|
46 | #define mX6b bX6b (-1)
|
---|
47 | #define mX7 bX7 (-1)
|
---|
48 | #define mY bY (-1)
|
---|
49 | #define mHint bHint (-1)
|
---|
50 |
|
---|
51 | #define OpX3(a,b) (bOp (a) | bX3 (b)), (mOp | mX3)
|
---|
52 | #define OpX3X6b(a,b,c) (bOp (a) | bX3 (b) | bX6b (c)), \
|
---|
53 | (mOp | mX3 | mX6b)
|
---|
54 | #define OpX3X6bX7(a,b,c,d) (bOp (a) | bX3 (b) | bX6b (c) | bX7 (d)), \
|
---|
55 | (mOp | mX3 | mX6b | mX7)
|
---|
56 | #define OpX3X4(a,b,c) (bOp (a) | bX3 (b) | bX4 (c)), \
|
---|
57 | (mOp | mX3 | mX4)
|
---|
58 | #define OpX3X4X2(a,b,c,d) (bOp (a) | bX3 (b) | bX4 (c) | bX2 (d)), \
|
---|
59 | (mOp | mX3 | mX4 | mX2)
|
---|
60 | #define OpX3X4X2Y(a,b,c,d,e) (bOp (a) | bX3 (b) | bX4 (c) | bX2 (d) | bY (e)), \
|
---|
61 | (mOp | mX3 | mX4 | mX2 | mY)
|
---|
62 | #define OpX6aHint(a,b,c) (bOp (a) | bX6a (b) | bHint (c)), \
|
---|
63 | (mOp | mX6a | mHint)
|
---|
64 | #define OpXX6aHint(a,b,c,d) (bOp (a) | bX (b) | bX6a (c) | bHint (d)), \
|
---|
65 | (mOp | mX | mX6a | mHint)
|
---|
66 | #define OpMXX6a(a,b,c,d) \
|
---|
67 | (bOp (a) | bM (b) | bX (c) | bX6a (d)), (mOp | mM | mX | mX6a)
|
---|
68 | #define OpMXX6aHint(a,b,c,d,e) \
|
---|
69 | (bOp (a) | bM (b) | bX (c) | bX6a (d) | bHint (e)), \
|
---|
70 | (mOp | mM | mX | mX6a | mHint)
|
---|
71 |
|
---|
72 | /* Used to initialise unused fields in ia64_opcode struct,
|
---|
73 | in order to stop gcc from complaining. */
|
---|
74 | #define EMPTY 0,0,NULL
|
---|
75 |
|
---|
76 | struct ia64_opcode ia64_opcodes_m[] =
|
---|
77 | {
|
---|
78 | /* M-type instruction encodings (sorted according to major opcode). */
|
---|
79 |
|
---|
80 | {"chk.a.nc", M0, OpX3 (0, 4), {R1, TGT25c}, EMPTY},
|
---|
81 | {"chk.a.clr", M0, OpX3 (0, 5), {R1, TGT25c}, EMPTY},
|
---|
82 | {"chk.a.nc", M0, OpX3 (0, 6), {F1, TGT25c}, EMPTY},
|
---|
83 | {"chk.a.clr", M0, OpX3 (0, 7), {F1, TGT25c}, EMPTY},
|
---|
84 |
|
---|
85 | {"invala", M0, OpX3X4X2 (0, 0, 0, 1), {}, EMPTY},
|
---|
86 | {"fwb", M0, OpX3X4X2 (0, 0, 0, 2), {}, EMPTY},
|
---|
87 | {"mf", M0, OpX3X4X2 (0, 0, 2, 2), {}, EMPTY},
|
---|
88 | {"mf.a", M0, OpX3X4X2 (0, 0, 3, 2), {}, EMPTY},
|
---|
89 | {"srlz.d", M0, OpX3X4X2 (0, 0, 0, 3), {}, EMPTY},
|
---|
90 | {"srlz.i", M0, OpX3X4X2 (0, 0, 1, 3), {}, EMPTY},
|
---|
91 | {"sync.i", M0, OpX3X4X2 (0, 0, 3, 3), {}, EMPTY},
|
---|
92 | {"flushrs", M0, OpX3X4X2 (0, 0, 0xc, 0), {}, FIRST | NO_PRED, 0, NULL},
|
---|
93 | {"loadrs", M0, OpX3X4X2 (0, 0, 0xa, 0), {}, FIRST | NO_PRED, 0, NULL},
|
---|
94 | {"invala.e", M0, OpX3X4X2 (0, 0, 2, 1), {R1}, EMPTY},
|
---|
95 | {"invala.e", M0, OpX3X4X2 (0, 0, 3, 1), {F1}, EMPTY},
|
---|
96 | {"mov.m", M, OpX3X4X2 (0, 0, 8, 2), {AR3, IMM8}, EMPTY},
|
---|
97 |
|
---|
98 | {"break.m", M0, OpX3X4X2 (0, 0, 0, 0), {IMMU21}, EMPTY},
|
---|
99 | {"nop.m", M0, OpX3X4X2Y (0, 0, 1, 0, 0), {IMMU21}, EMPTY},
|
---|
100 | {"hint.m", M0, OpX3X4X2Y (0, 0, 1, 0, 1), {IMMU21}, EMPTY},
|
---|
101 |
|
---|
102 | {"sum", M0, OpX3X4 (0, 0, 4), {IMMU24}, EMPTY},
|
---|
103 | {"rum", M0, OpX3X4 (0, 0, 5), {IMMU24}, EMPTY},
|
---|
104 | {"ssm", M0, OpX3X4 (0, 0, 6), {IMMU24}, PRIV, 0, NULL},
|
---|
105 | {"rsm", M0, OpX3X4 (0, 0, 7), {IMMU24}, PRIV, 0, NULL},
|
---|
106 |
|
---|
107 | {"mov.m", M, OpX3X6b (1, 0, 0x2a), {AR3, R2}, EMPTY},
|
---|
108 | {"mov.m", M, OpX3X6b (1, 0, 0x22), {R1, AR3}, EMPTY},
|
---|
109 | {"mov", M, OpX3X6b (1, 0, 0x2c), {CR3, R2}, PRIV, 0, NULL},
|
---|
110 | {"mov", M, OpX3X6b (1, 0, 0x24), {R1, CR3}, PRIV, 0, NULL},
|
---|
111 |
|
---|
112 | {"alloc", M, OpX3 (1, 6), {R1, AR_PFS, SOF, SOL, SOR}, FIRST|NO_PRED|MOD_RRBS, 0, NULL},
|
---|
113 |
|
---|
114 | {"mov", M, OpX3X6b (1, 0, 0x2d), {PSR_L, R2}, PRIV, 0, NULL},
|
---|
115 | {"mov", M, OpX3X6b (1, 0, 0x29), {PSR_UM, R2}, EMPTY},
|
---|
116 | {"mov", M, OpX3X6b (1, 0, 0x25), {R1, PSR}, PRIV, 0, NULL},
|
---|
117 | {"mov", M, OpX3X6b (1, 0, 0x21), {R1, PSR_UM}, EMPTY},
|
---|
118 | {"probe.r", M, OpX3X6b (1, 0, 0x38), {R1, R3, R2}, EMPTY},
|
---|
119 | {"probe.w", M, OpX3X6b (1, 0, 0x39), {R1, R3, R2}, EMPTY},
|
---|
120 | {"probe.r", M, OpX3X6b (1, 0, 0x18), {R1, R3, IMMU2}, EMPTY},
|
---|
121 | {"probe.w", M, OpX3X6b (1, 0, 0x19), {R1, R3, IMMU2}, EMPTY},
|
---|
122 | {"probe.rw.fault", M0, OpX3X6b (1, 0, 0x31), {R3, IMMU2}, EMPTY},
|
---|
123 | {"probe.r.fault", M0, OpX3X6b (1, 0, 0x32), {R3, IMMU2}, EMPTY},
|
---|
124 | {"probe.w.fault", M0, OpX3X6b (1, 0, 0x33), {R3, IMMU2}, EMPTY},
|
---|
125 | {"itc.d", M0, OpX3X6b (1, 0, 0x2e), {R2}, LAST | PRIV, 0, NULL},
|
---|
126 | {"itc.i", M0, OpX3X6b (1, 0, 0x2f), {R2}, LAST | PRIV, 0, NULL},
|
---|
127 |
|
---|
128 | {"mov", M, OpX3X6b (1, 0, 0x00), {RR_R3, R2}, PRIV, 0, NULL},
|
---|
129 | {"mov", M, OpX3X6b (1, 0, 0x01), {DBR_R3, R2}, PRIV, 0, NULL},
|
---|
130 | {"mov", M, OpX3X6b (1, 0, 0x02), {IBR_R3, R2}, PRIV, 0, NULL},
|
---|
131 | {"mov", M, OpX3X6b (1, 0, 0x03), {PKR_R3, R2}, PRIV, 0, NULL},
|
---|
132 | {"mov", M, OpX3X6b (1, 0, 0x04), {PMC_R3, R2}, PRIV, 0, NULL},
|
---|
133 | {"mov", M, OpX3X6b (1, 0, 0x05), {PMD_R3, R2}, PRIV, 0, NULL},
|
---|
134 | {"mov", M, OpX3X6b (1, 0, 0x06), {MSR_R3, R2}, PRIV, 0, NULL},
|
---|
135 | {"itr.d", M, OpX3X6b (1, 0, 0x0e), {DTR_R3, R2}, PRIV, 0, NULL},
|
---|
136 | {"itr.i", M, OpX3X6b (1, 0, 0x0f), {ITR_R3, R2}, PRIV, 0, NULL},
|
---|
137 |
|
---|
138 | {"mov", M, OpX3X6b (1, 0, 0x10), {R1, RR_R3}, PRIV, 0, NULL},
|
---|
139 | {"mov", M, OpX3X6b (1, 0, 0x11), {R1, DBR_R3}, PRIV, 0, NULL},
|
---|
140 | {"mov", M, OpX3X6b (1, 0, 0x12), {R1, IBR_R3}, PRIV, 0, NULL},
|
---|
141 | {"mov", M, OpX3X6b (1, 0, 0x13), {R1, PKR_R3}, PRIV, 0, NULL},
|
---|
142 | {"mov", M, OpX3X6b (1, 0, 0x14), {R1, PMC_R3}, PRIV, 0, NULL},
|
---|
143 | {"mov", M, OpX3X6b (1, 0, 0x15), {R1, PMD_R3}, EMPTY},
|
---|
144 | {"mov", M, OpX3X6b (1, 0, 0x16), {R1, MSR_R3}, PRIV, 0, NULL},
|
---|
145 | {"mov", M, OpX3X6b (1, 0, 0x17), {R1, CPUID_R3}, EMPTY},
|
---|
146 |
|
---|
147 | {"ptc.l", M0, OpX3X6b (1, 0, 0x09), {R3, R2}, PRIV, 0, NULL},
|
---|
148 | {"ptc.g", M0, OpX3X6b (1, 0, 0x0a), {R3, R2}, LAST | PRIV, 0, NULL},
|
---|
149 | {"ptc.ga", M0, OpX3X6b (1, 0, 0x0b), {R3, R2}, LAST | PRIV, 0, NULL},
|
---|
150 | {"ptr.d", M0, OpX3X6b (1, 0, 0x0c), {R3, R2}, PRIV, 0, NULL},
|
---|
151 | {"ptr.i", M0, OpX3X6b (1, 0, 0x0d), {R3, R2}, PRIV, 0, NULL},
|
---|
152 |
|
---|
153 | {"thash", M, OpX3X6b (1, 0, 0x1a), {R1, R3}, EMPTY},
|
---|
154 | {"ttag", M, OpX3X6b (1, 0, 0x1b), {R1, R3}, EMPTY},
|
---|
155 | {"tpa", M, OpX3X6b (1, 0, 0x1e), {R1, R3}, PRIV, 0, NULL},
|
---|
156 | {"tak", M, OpX3X6b (1, 0, 0x1f), {R1, R3}, PRIV, 0, NULL},
|
---|
157 |
|
---|
158 | {"chk.s.m", M0, OpX3 (1, 1), {R2, TGT25b}, EMPTY},
|
---|
159 | {"chk.s", M0, OpX3 (1, 3), {F2, TGT25b}, EMPTY},
|
---|
160 |
|
---|
161 | {"fc", M0, OpX3X6bX7 (1, 0, 0x30, 0), {R3}, EMPTY},
|
---|
162 | {"fc.i", M0, OpX3X6bX7 (1, 0, 0x30, 1), {R3}, EMPTY},
|
---|
163 | {"ptc.e", M0, OpX3X6b (1, 0, 0x34), {R3}, PRIV, 0, NULL},
|
---|
164 |
|
---|
165 | /* integer load */
|
---|
166 | {"ld1", M, OpMXX6aHint (4, 0, 0, 0x00, 0), {R1, MR3}, EMPTY},
|
---|
167 | {"ld1.nt1", M, OpMXX6aHint (4, 0, 0, 0x00, 1), {R1, MR3}, EMPTY},
|
---|
168 | {"ld1.nta", M, OpMXX6aHint (4, 0, 0, 0x00, 3), {R1, MR3}, EMPTY},
|
---|
169 | {"ld2", M, OpMXX6aHint (4, 0, 0, 0x01, 0), {R1, MR3}, EMPTY},
|
---|
170 | {"ld2.nt1", M, OpMXX6aHint (4, 0, 0, 0x01, 1), {R1, MR3}, EMPTY},
|
---|
171 | {"ld2.nta", M, OpMXX6aHint (4, 0, 0, 0x01, 3), {R1, MR3}, EMPTY},
|
---|
172 | {"ld4", M, OpMXX6aHint (4, 0, 0, 0x02, 0), {R1, MR3}, EMPTY},
|
---|
173 | {"ld4.nt1", M, OpMXX6aHint (4, 0, 0, 0x02, 1), {R1, MR3}, EMPTY},
|
---|
174 | {"ld4.nta", M, OpMXX6aHint (4, 0, 0, 0x02, 3), {R1, MR3}, EMPTY},
|
---|
175 | {"ld8", M, OpMXX6aHint (4, 0, 0, 0x03, 0), {R1, MR3}, EMPTY},
|
---|
176 | {"ld8.nt1", M, OpMXX6aHint (4, 0, 0, 0x03, 1), {R1, MR3}, EMPTY},
|
---|
177 | {"ld8.nta", M, OpMXX6aHint (4, 0, 0, 0x03, 3), {R1, MR3}, EMPTY},
|
---|
178 | {"ld16", M2, OpMXX6aHint (4, 0, 1, 0x28, 0), {R1, AR_CSD, MR3}, EMPTY},
|
---|
179 | {"ld16.nt1", M2, OpMXX6aHint (4, 0, 1, 0x28, 1), {R1, AR_CSD, MR3}, EMPTY},
|
---|
180 | {"ld16.nta", M2, OpMXX6aHint (4, 0, 1, 0x28, 3), {R1, AR_CSD, MR3}, EMPTY},
|
---|
181 | {"ld1.s", M, OpMXX6aHint (4, 0, 0, 0x04, 0), {R1, MR3}, EMPTY},
|
---|
182 | {"ld1.s.nt1", M, OpMXX6aHint (4, 0, 0, 0x04, 1), {R1, MR3}, EMPTY},
|
---|
183 | {"ld1.s.nta", M, OpMXX6aHint (4, 0, 0, 0x04, 3), {R1, MR3}, EMPTY},
|
---|
184 | {"ld2.s", M, OpMXX6aHint (4, 0, 0, 0x05, 0), {R1, MR3}, EMPTY},
|
---|
185 | {"ld2.s.nt1", M, OpMXX6aHint (4, 0, 0, 0x05, 1), {R1, MR3}, EMPTY},
|
---|
186 | {"ld2.s.nta", M, OpMXX6aHint (4, 0, 0, 0x05, 3), {R1, MR3}, EMPTY},
|
---|
187 | {"ld4.s", M, OpMXX6aHint (4, 0, 0, 0x06, 0), {R1, MR3}, EMPTY},
|
---|
188 | {"ld4.s.nt1", M, OpMXX6aHint (4, 0, 0, 0x06, 1), {R1, MR3}, EMPTY},
|
---|
189 | {"ld4.s.nta", M, OpMXX6aHint (4, 0, 0, 0x06, 3), {R1, MR3}, EMPTY},
|
---|
190 | {"ld8.s", M, OpMXX6aHint (4, 0, 0, 0x07, 0), {R1, MR3}, EMPTY},
|
---|
191 | {"ld8.s.nt1", M, OpMXX6aHint (4, 0, 0, 0x07, 1), {R1, MR3}, EMPTY},
|
---|
192 | {"ld8.s.nta", M, OpMXX6aHint (4, 0, 0, 0x07, 3), {R1, MR3}, EMPTY},
|
---|
193 | {"ld1.a", M, OpMXX6aHint (4, 0, 0, 0x08, 0), {R1, MR3}, EMPTY},
|
---|
194 | {"ld1.a.nt1", M, OpMXX6aHint (4, 0, 0, 0x08, 1), {R1, MR3}, EMPTY},
|
---|
195 | {"ld1.a.nta", M, OpMXX6aHint (4, 0, 0, 0x08, 3), {R1, MR3}, EMPTY},
|
---|
196 | {"ld2.a", M, OpMXX6aHint (4, 0, 0, 0x09, 0), {R1, MR3}, EMPTY},
|
---|
197 | {"ld2.a.nt1", M, OpMXX6aHint (4, 0, 0, 0x09, 1), {R1, MR3}, EMPTY},
|
---|
198 | {"ld2.a.nta", M, OpMXX6aHint (4, 0, 0, 0x09, 3), {R1, MR3}, EMPTY},
|
---|
199 | {"ld4.a", M, OpMXX6aHint (4, 0, 0, 0x0a, 0), {R1, MR3}, EMPTY},
|
---|
200 | {"ld4.a.nt1", M, OpMXX6aHint (4, 0, 0, 0x0a, 1), {R1, MR3}, EMPTY},
|
---|
201 | {"ld4.a.nta", M, OpMXX6aHint (4, 0, 0, 0x0a, 3), {R1, MR3}, EMPTY},
|
---|
202 | {"ld8.a", M, OpMXX6aHint (4, 0, 0, 0x0b, 0), {R1, MR3}, EMPTY},
|
---|
203 | {"ld8.a.nt1", M, OpMXX6aHint (4, 0, 0, 0x0b, 1), {R1, MR3}, EMPTY},
|
---|
204 | {"ld8.a.nta", M, OpMXX6aHint (4, 0, 0, 0x0b, 3), {R1, MR3}, EMPTY},
|
---|
205 | {"ld1.sa", M, OpMXX6aHint (4, 0, 0, 0x0c, 0), {R1, MR3}, EMPTY},
|
---|
206 | {"ld1.sa.nt1", M, OpMXX6aHint (4, 0, 0, 0x0c, 1), {R1, MR3}, EMPTY},
|
---|
207 | {"ld1.sa.nta", M, OpMXX6aHint (4, 0, 0, 0x0c, 3), {R1, MR3}, EMPTY},
|
---|
208 | {"ld2.sa", M, OpMXX6aHint (4, 0, 0, 0x0d, 0), {R1, MR3}, EMPTY},
|
---|
209 | {"ld2.sa.nt1", M, OpMXX6aHint (4, 0, 0, 0x0d, 1), {R1, MR3}, EMPTY},
|
---|
210 | {"ld2.sa.nta", M, OpMXX6aHint (4, 0, 0, 0x0d, 3), {R1, MR3}, EMPTY},
|
---|
211 | {"ld4.sa", M, OpMXX6aHint (4, 0, 0, 0x0e, 0), {R1, MR3}, EMPTY},
|
---|
212 | {"ld4.sa.nt1", M, OpMXX6aHint (4, 0, 0, 0x0e, 1), {R1, MR3}, EMPTY},
|
---|
213 | {"ld4.sa.nta", M, OpMXX6aHint (4, 0, 0, 0x0e, 3), {R1, MR3}, EMPTY},
|
---|
214 | {"ld8.sa", M, OpMXX6aHint (4, 0, 0, 0x0f, 0), {R1, MR3}, EMPTY},
|
---|
215 | {"ld8.sa.nt1", M, OpMXX6aHint (4, 0, 0, 0x0f, 1), {R1, MR3}, EMPTY},
|
---|
216 | {"ld8.sa.nta", M, OpMXX6aHint (4, 0, 0, 0x0f, 3), {R1, MR3}, EMPTY},
|
---|
217 | {"ld1.bias", M, OpMXX6aHint (4, 0, 0, 0x10, 0), {R1, MR3}, EMPTY},
|
---|
218 | {"ld1.bias.nt1", M, OpMXX6aHint (4, 0, 0, 0x10, 1), {R1, MR3}, EMPTY},
|
---|
219 | {"ld1.bias.nta", M, OpMXX6aHint (4, 0, 0, 0x10, 3), {R1, MR3}, EMPTY},
|
---|
220 | {"ld2.bias", M, OpMXX6aHint (4, 0, 0, 0x11, 0), {R1, MR3}, EMPTY},
|
---|
221 | {"ld2.bias.nt1", M, OpMXX6aHint (4, 0, 0, 0x11, 1), {R1, MR3}, EMPTY},
|
---|
222 | {"ld2.bias.nta", M, OpMXX6aHint (4, 0, 0, 0x11, 3), {R1, MR3}, EMPTY},
|
---|
223 | {"ld4.bias", M, OpMXX6aHint (4, 0, 0, 0x12, 0), {R1, MR3}, EMPTY},
|
---|
224 | {"ld4.bias.nt1", M, OpMXX6aHint (4, 0, 0, 0x12, 1), {R1, MR3}, EMPTY},
|
---|
225 | {"ld4.bias.nta", M, OpMXX6aHint (4, 0, 0, 0x12, 3), {R1, MR3}, EMPTY},
|
---|
226 | {"ld8.bias", M, OpMXX6aHint (4, 0, 0, 0x13, 0), {R1, MR3}, EMPTY},
|
---|
227 | {"ld8.bias.nt1", M, OpMXX6aHint (4, 0, 0, 0x13, 1), {R1, MR3}, EMPTY},
|
---|
228 | {"ld8.bias.nta", M, OpMXX6aHint (4, 0, 0, 0x13, 3), {R1, MR3}, EMPTY},
|
---|
229 | {"ld1.acq", M, OpMXX6aHint (4, 0, 0, 0x14, 0), {R1, MR3}, EMPTY},
|
---|
230 | {"ld1.acq.nt1", M, OpMXX6aHint (4, 0, 0, 0x14, 1), {R1, MR3}, EMPTY},
|
---|
231 | {"ld1.acq.nta", M, OpMXX6aHint (4, 0, 0, 0x14, 3), {R1, MR3}, EMPTY},
|
---|
232 | {"ld2.acq", M, OpMXX6aHint (4, 0, 0, 0x15, 0), {R1, MR3}, EMPTY},
|
---|
233 | {"ld2.acq.nt1", M, OpMXX6aHint (4, 0, 0, 0x15, 1), {R1, MR3}, EMPTY},
|
---|
234 | {"ld2.acq.nta", M, OpMXX6aHint (4, 0, 0, 0x15, 3), {R1, MR3}, EMPTY},
|
---|
235 | {"ld4.acq", M, OpMXX6aHint (4, 0, 0, 0x16, 0), {R1, MR3}, EMPTY},
|
---|
236 | {"ld4.acq.nt1", M, OpMXX6aHint (4, 0, 0, 0x16, 1), {R1, MR3}, EMPTY},
|
---|
237 | {"ld4.acq.nta", M, OpMXX6aHint (4, 0, 0, 0x16, 3), {R1, MR3}, EMPTY},
|
---|
238 | {"ld8.acq", M, OpMXX6aHint (4, 0, 0, 0x17, 0), {R1, MR3}, EMPTY},
|
---|
239 | {"ld8.acq.nt1", M, OpMXX6aHint (4, 0, 0, 0x17, 1), {R1, MR3}, EMPTY},
|
---|
240 | {"ld8.acq.nta", M, OpMXX6aHint (4, 0, 0, 0x17, 3), {R1, MR3}, EMPTY},
|
---|
241 | {"ld16.acq", M2, OpMXX6aHint (4, 0, 1, 0x2c, 0), {R1, AR_CSD, MR3}, EMPTY},
|
---|
242 | {"ld16.acq.nt1", M2, OpMXX6aHint (4, 0, 1, 0x2c, 1), {R1, AR_CSD, MR3}, EMPTY},
|
---|
243 | {"ld16.acq.nta", M2, OpMXX6aHint (4, 0, 1, 0x2c, 3), {R1, AR_CSD, MR3}, EMPTY},
|
---|
244 | {"ld8.fill", M, OpMXX6aHint (4, 0, 0, 0x1b, 0), {R1, MR3}, EMPTY},
|
---|
245 | {"ld8.fill.nt1", M, OpMXX6aHint (4, 0, 0, 0x1b, 1), {R1, MR3}, EMPTY},
|
---|
246 | {"ld8.fill.nta", M, OpMXX6aHint (4, 0, 0, 0x1b, 3), {R1, MR3}, EMPTY},
|
---|
247 | {"ld1.c.clr", M, OpMXX6aHint (4, 0, 0, 0x20, 0), {R1, MR3}, EMPTY},
|
---|
248 | {"ld1.c.clr.nt1", M, OpMXX6aHint (4, 0, 0, 0x20, 1), {R1, MR3}, EMPTY},
|
---|
249 | {"ld1.c.clr.nta", M, OpMXX6aHint (4, 0, 0, 0x20, 3), {R1, MR3}, EMPTY},
|
---|
250 | {"ld2.c.clr", M, OpMXX6aHint (4, 0, 0, 0x21, 0), {R1, MR3}, EMPTY},
|
---|
251 | {"ld2.c.clr.nt1", M, OpMXX6aHint (4, 0, 0, 0x21, 1), {R1, MR3}, EMPTY},
|
---|
252 | {"ld2.c.clr.nta", M, OpMXX6aHint (4, 0, 0, 0x21, 3), {R1, MR3}, EMPTY},
|
---|
253 | {"ld4.c.clr", M, OpMXX6aHint (4, 0, 0, 0x22, 0), {R1, MR3}, EMPTY},
|
---|
254 | {"ld4.c.clr.nt1", M, OpMXX6aHint (4, 0, 0, 0x22, 1), {R1, MR3}, EMPTY},
|
---|
255 | {"ld4.c.clr.nta", M, OpMXX6aHint (4, 0, 0, 0x22, 3), {R1, MR3}, EMPTY},
|
---|
256 | {"ld8.c.clr", M, OpMXX6aHint (4, 0, 0, 0x23, 0), {R1, MR3}, EMPTY},
|
---|
257 | {"ld8.c.clr.nt1", M, OpMXX6aHint (4, 0, 0, 0x23, 1), {R1, MR3}, EMPTY},
|
---|
258 | {"ld8.c.clr.nta", M, OpMXX6aHint (4, 0, 0, 0x23, 3), {R1, MR3}, EMPTY},
|
---|
259 | {"ld1.c.nc", M, OpMXX6aHint (4, 0, 0, 0x24, 0), {R1, MR3}, EMPTY},
|
---|
260 | {"ld1.c.nc.nt1", M, OpMXX6aHint (4, 0, 0, 0x24, 1), {R1, MR3}, EMPTY},
|
---|
261 | {"ld1.c.nc.nta", M, OpMXX6aHint (4, 0, 0, 0x24, 3), {R1, MR3}, EMPTY},
|
---|
262 | {"ld2.c.nc", M, OpMXX6aHint (4, 0, 0, 0x25, 0), {R1, MR3}, EMPTY},
|
---|
263 | {"ld2.c.nc.nt1", M, OpMXX6aHint (4, 0, 0, 0x25, 1), {R1, MR3}, EMPTY},
|
---|
264 | {"ld2.c.nc.nta", M, OpMXX6aHint (4, 0, 0, 0x25, 3), {R1, MR3}, EMPTY},
|
---|
265 | {"ld4.c.nc", M, OpMXX6aHint (4, 0, 0, 0x26, 0), {R1, MR3}, EMPTY},
|
---|
266 | {"ld4.c.nc.nt1", M, OpMXX6aHint (4, 0, 0, 0x26, 1), {R1, MR3}, EMPTY},
|
---|
267 | {"ld4.c.nc.nta", M, OpMXX6aHint (4, 0, 0, 0x26, 3), {R1, MR3}, EMPTY},
|
---|
268 | {"ld8.c.nc", M, OpMXX6aHint (4, 0, 0, 0x27, 0), {R1, MR3}, EMPTY},
|
---|
269 | {"ld8.c.nc.nt1", M, OpMXX6aHint (4, 0, 0, 0x27, 1), {R1, MR3}, EMPTY},
|
---|
270 | {"ld8.c.nc.nta", M, OpMXX6aHint (4, 0, 0, 0x27, 3), {R1, MR3}, EMPTY},
|
---|
271 | {"ld1.c.clr.acq", M, OpMXX6aHint (4, 0, 0, 0x28, 0), {R1, MR3}, EMPTY},
|
---|
272 | {"ld1.c.clr.acq.nt1", M, OpMXX6aHint (4, 0, 0, 0x28, 1), {R1, MR3}, EMPTY},
|
---|
273 | {"ld1.c.clr.acq.nta", M, OpMXX6aHint (4, 0, 0, 0x28, 3), {R1, MR3}, EMPTY},
|
---|
274 | {"ld2.c.clr.acq", M, OpMXX6aHint (4, 0, 0, 0x29, 0), {R1, MR3}, EMPTY},
|
---|
275 | {"ld2.c.clr.acq.nt1", M, OpMXX6aHint (4, 0, 0, 0x29, 1), {R1, MR3}, EMPTY},
|
---|
276 | {"ld2.c.clr.acq.nta", M, OpMXX6aHint (4, 0, 0, 0x29, 3), {R1, MR3}, EMPTY},
|
---|
277 | {"ld4.c.clr.acq", M, OpMXX6aHint (4, 0, 0, 0x2a, 0), {R1, MR3}, EMPTY},
|
---|
278 | {"ld4.c.clr.acq.nt1", M, OpMXX6aHint (4, 0, 0, 0x2a, 1), {R1, MR3}, EMPTY},
|
---|
279 | {"ld4.c.clr.acq.nta", M, OpMXX6aHint (4, 0, 0, 0x2a, 3), {R1, MR3}, EMPTY},
|
---|
280 | {"ld8.c.clr.acq", M, OpMXX6aHint (4, 0, 0, 0x2b, 0), {R1, MR3}, EMPTY},
|
---|
281 | {"ld8.c.clr.acq.nt1", M, OpMXX6aHint (4, 0, 0, 0x2b, 1), {R1, MR3}, EMPTY},
|
---|
282 | {"ld8.c.clr.acq.nta", M, OpMXX6aHint (4, 0, 0, 0x2b, 3), {R1, MR3}, EMPTY},
|
---|
283 |
|
---|
284 | /* Pseudo-op that generates ldxmov relocation. */
|
---|
285 | {"ld8.mov", M, OpMXX6aHint (4, 0, 0, 0x03, 0),
|
---|
286 | {R1, MR3, IA64_OPND_LDXMOV}, EMPTY},
|
---|
287 |
|
---|
288 | /* Integer load w/increment by register. */
|
---|
289 | #define LDINCREG(c,h) M, OpMXX6aHint (4, 1, 0, c, h), {R1, MR3, R2}, POSTINC, 0, NULL
|
---|
290 | {"ld1", LDINCREG (0x00, 0)},
|
---|
291 | {"ld1.nt1", LDINCREG (0x00, 1)},
|
---|
292 | {"ld1.nta", LDINCREG (0x00, 3)},
|
---|
293 | {"ld2", LDINCREG (0x01, 0)},
|
---|
294 | {"ld2.nt1", LDINCREG (0x01, 1)},
|
---|
295 | {"ld2.nta", LDINCREG (0x01, 3)},
|
---|
296 | {"ld4", LDINCREG (0x02, 0)},
|
---|
297 | {"ld4.nt1", LDINCREG (0x02, 1)},
|
---|
298 | {"ld4.nta", LDINCREG (0x02, 3)},
|
---|
299 | {"ld8", LDINCREG (0x03, 0)},
|
---|
300 | {"ld8.nt1", LDINCREG (0x03, 1)},
|
---|
301 | {"ld8.nta", LDINCREG (0x03, 3)},
|
---|
302 | {"ld1.s", LDINCREG (0x04, 0)},
|
---|
303 | {"ld1.s.nt1", LDINCREG (0x04, 1)},
|
---|
304 | {"ld1.s.nta", LDINCREG (0x04, 3)},
|
---|
305 | {"ld2.s", LDINCREG (0x05, 0)},
|
---|
306 | {"ld2.s.nt1", LDINCREG (0x05, 1)},
|
---|
307 | {"ld2.s.nta", LDINCREG (0x05, 3)},
|
---|
308 | {"ld4.s", LDINCREG (0x06, 0)},
|
---|
309 | {"ld4.s.nt1", LDINCREG (0x06, 1)},
|
---|
310 | {"ld4.s.nta", LDINCREG (0x06, 3)},
|
---|
311 | {"ld8.s", LDINCREG (0x07, 0)},
|
---|
312 | {"ld8.s.nt1", LDINCREG (0x07, 1)},
|
---|
313 | {"ld8.s.nta", LDINCREG (0x07, 3)},
|
---|
314 | {"ld1.a", LDINCREG (0x08, 0)},
|
---|
315 | {"ld1.a.nt1", LDINCREG (0x08, 1)},
|
---|
316 | {"ld1.a.nta", LDINCREG (0x08, 3)},
|
---|
317 | {"ld2.a", LDINCREG (0x09, 0)},
|
---|
318 | {"ld2.a.nt1", LDINCREG (0x09, 1)},
|
---|
319 | {"ld2.a.nta", LDINCREG (0x09, 3)},
|
---|
320 | {"ld4.a", LDINCREG (0x0a, 0)},
|
---|
321 | {"ld4.a.nt1", LDINCREG (0x0a, 1)},
|
---|
322 | {"ld4.a.nta", LDINCREG (0x0a, 3)},
|
---|
323 | {"ld8.a", LDINCREG (0x0b, 0)},
|
---|
324 | {"ld8.a.nt1", LDINCREG (0x0b, 1)},
|
---|
325 | {"ld8.a.nta", LDINCREG (0x0b, 3)},
|
---|
326 | {"ld1.sa", LDINCREG (0x0c, 0)},
|
---|
327 | {"ld1.sa.nt1", LDINCREG (0x0c, 1)},
|
---|
328 | {"ld1.sa.nta", LDINCREG (0x0c, 3)},
|
---|
329 | {"ld2.sa", LDINCREG (0x0d, 0)},
|
---|
330 | {"ld2.sa.nt1", LDINCREG (0x0d, 1)},
|
---|
331 | {"ld2.sa.nta", LDINCREG (0x0d, 3)},
|
---|
332 | {"ld4.sa", LDINCREG (0x0e, 0)},
|
---|
333 | {"ld4.sa.nt1", LDINCREG (0x0e, 1)},
|
---|
334 | {"ld4.sa.nta", LDINCREG (0x0e, 3)},
|
---|
335 | {"ld8.sa", LDINCREG (0x0f, 0)},
|
---|
336 | {"ld8.sa.nt1", LDINCREG (0x0f, 1)},
|
---|
337 | {"ld8.sa.nta", LDINCREG (0x0f, 3)},
|
---|
338 | {"ld1.bias", LDINCREG (0x10, 0)},
|
---|
339 | {"ld1.bias.nt1", LDINCREG (0x10, 1)},
|
---|
340 | {"ld1.bias.nta", LDINCREG (0x10, 3)},
|
---|
341 | {"ld2.bias", LDINCREG (0x11, 0)},
|
---|
342 | {"ld2.bias.nt1", LDINCREG (0x11, 1)},
|
---|
343 | {"ld2.bias.nta", LDINCREG (0x11, 3)},
|
---|
344 | {"ld4.bias", LDINCREG (0x12, 0)},
|
---|
345 | {"ld4.bias.nt1", LDINCREG (0x12, 1)},
|
---|
346 | {"ld4.bias.nta", LDINCREG (0x12, 3)},
|
---|
347 | {"ld8.bias", LDINCREG (0x13, 0)},
|
---|
348 | {"ld8.bias.nt1", LDINCREG (0x13, 1)},
|
---|
349 | {"ld8.bias.nta", LDINCREG (0x13, 3)},
|
---|
350 | {"ld1.acq", LDINCREG (0x14, 0)},
|
---|
351 | {"ld1.acq.nt1", LDINCREG (0x14, 1)},
|
---|
352 | {"ld1.acq.nta", LDINCREG (0x14, 3)},
|
---|
353 | {"ld2.acq", LDINCREG (0x15, 0)},
|
---|
354 | {"ld2.acq.nt1", LDINCREG (0x15, 1)},
|
---|
355 | {"ld2.acq.nta", LDINCREG (0x15, 3)},
|
---|
356 | {"ld4.acq", LDINCREG (0x16, 0)},
|
---|
357 | {"ld4.acq.nt1", LDINCREG (0x16, 1)},
|
---|
358 | {"ld4.acq.nta", LDINCREG (0x16, 3)},
|
---|
359 | {"ld8.acq", LDINCREG (0x17, 0)},
|
---|
360 | {"ld8.acq.nt1", LDINCREG (0x17, 1)},
|
---|
361 | {"ld8.acq.nta", LDINCREG (0x17, 3)},
|
---|
362 | {"ld8.fill", LDINCREG (0x1b, 0)},
|
---|
363 | {"ld8.fill.nt1", LDINCREG (0x1b, 1)},
|
---|
364 | {"ld8.fill.nta", LDINCREG (0x1b, 3)},
|
---|
365 | {"ld1.c.clr", LDINCREG (0x20, 0)},
|
---|
366 | {"ld1.c.clr.nt1", LDINCREG (0x20, 1)},
|
---|
367 | {"ld1.c.clr.nta", LDINCREG (0x20, 3)},
|
---|
368 | {"ld2.c.clr", LDINCREG (0x21, 0)},
|
---|
369 | {"ld2.c.clr.nt1", LDINCREG (0x21, 1)},
|
---|
370 | {"ld2.c.clr.nta", LDINCREG (0x21, 3)},
|
---|
371 | {"ld4.c.clr", LDINCREG (0x22, 0)},
|
---|
372 | {"ld4.c.clr.nt1", LDINCREG (0x22, 1)},
|
---|
373 | {"ld4.c.clr.nta", LDINCREG (0x22, 3)},
|
---|
374 | {"ld8.c.clr", LDINCREG (0x23, 0)},
|
---|
375 | {"ld8.c.clr.nt1", LDINCREG (0x23, 1)},
|
---|
376 | {"ld8.c.clr.nta", LDINCREG (0x23, 3)},
|
---|
377 | {"ld1.c.nc", LDINCREG (0x24, 0)},
|
---|
378 | {"ld1.c.nc.nt1", LDINCREG (0x24, 1)},
|
---|
379 | {"ld1.c.nc.nta", LDINCREG (0x24, 3)},
|
---|
380 | {"ld2.c.nc", LDINCREG (0x25, 0)},
|
---|
381 | {"ld2.c.nc.nt1", LDINCREG (0x25, 1)},
|
---|
382 | {"ld2.c.nc.nta", LDINCREG (0x25, 3)},
|
---|
383 | {"ld4.c.nc", LDINCREG (0x26, 0)},
|
---|
384 | {"ld4.c.nc.nt1", LDINCREG (0x26, 1)},
|
---|
385 | {"ld4.c.nc.nta", LDINCREG (0x26, 3)},
|
---|
386 | {"ld8.c.nc", LDINCREG (0x27, 0)},
|
---|
387 | {"ld8.c.nc.nt1", LDINCREG (0x27, 1)},
|
---|
388 | {"ld8.c.nc.nta", LDINCREG (0x27, 3)},
|
---|
389 | {"ld1.c.clr.acq", LDINCREG (0x28, 0)},
|
---|
390 | {"ld1.c.clr.acq.nt1", LDINCREG (0x28, 1)},
|
---|
391 | {"ld1.c.clr.acq.nta", LDINCREG (0x28, 3)},
|
---|
392 | {"ld2.c.clr.acq", LDINCREG (0x29, 0)},
|
---|
393 | {"ld2.c.clr.acq.nt1", LDINCREG (0x29, 1)},
|
---|
394 | {"ld2.c.clr.acq.nta", LDINCREG (0x29, 3)},
|
---|
395 | {"ld4.c.clr.acq", LDINCREG (0x2a, 0)},
|
---|
396 | {"ld4.c.clr.acq.nt1", LDINCREG (0x2a, 1)},
|
---|
397 | {"ld4.c.clr.acq.nta", LDINCREG (0x2a, 3)},
|
---|
398 | {"ld8.c.clr.acq", LDINCREG (0x2b, 0)},
|
---|
399 | {"ld8.c.clr.acq.nt1", LDINCREG (0x2b, 1)},
|
---|
400 | {"ld8.c.clr.acq.nta", LDINCREG (0x2b, 3)},
|
---|
401 | #undef LDINCREG
|
---|
402 |
|
---|
403 | {"st1", M, OpMXX6aHint (4, 0, 0, 0x30, 0), {MR3, R2}, EMPTY},
|
---|
404 | {"st1.nta", M, OpMXX6aHint (4, 0, 0, 0x30, 3), {MR3, R2}, EMPTY},
|
---|
405 | {"st2", M, OpMXX6aHint (4, 0, 0, 0x31, 0), {MR3, R2}, EMPTY},
|
---|
406 | {"st2.nta", M, OpMXX6aHint (4, 0, 0, 0x31, 3), {MR3, R2}, EMPTY},
|
---|
407 | {"st4", M, OpMXX6aHint (4, 0, 0, 0x32, 0), {MR3, R2}, EMPTY},
|
---|
408 | {"st4.nta", M, OpMXX6aHint (4, 0, 0, 0x32, 3), {MR3, R2}, EMPTY},
|
---|
409 | {"st8", M, OpMXX6aHint (4, 0, 0, 0x33, 0), {MR3, R2}, EMPTY},
|
---|
410 | {"st8.nta", M, OpMXX6aHint (4, 0, 0, 0x33, 3), {MR3, R2}, EMPTY},
|
---|
411 | {"st16", M, OpMXX6aHint (4, 0, 1, 0x30, 0), {MR3, R2, AR_CSD}, EMPTY},
|
---|
412 | {"st16.nta", M, OpMXX6aHint (4, 0, 1, 0x30, 3), {MR3, R2, AR_CSD}, EMPTY},
|
---|
413 | {"st1.rel", M, OpMXX6aHint (4, 0, 0, 0x34, 0), {MR3, R2}, EMPTY},
|
---|
414 | {"st1.rel.nta", M, OpMXX6aHint (4, 0, 0, 0x34, 3), {MR3, R2}, EMPTY},
|
---|
415 | {"st2.rel", M, OpMXX6aHint (4, 0, 0, 0x35, 0), {MR3, R2}, EMPTY},
|
---|
416 | {"st2.rel.nta", M, OpMXX6aHint (4, 0, 0, 0x35, 3), {MR3, R2}, EMPTY},
|
---|
417 | {"st4.rel", M, OpMXX6aHint (4, 0, 0, 0x36, 0), {MR3, R2}, EMPTY},
|
---|
418 | {"st4.rel.nta", M, OpMXX6aHint (4, 0, 0, 0x36, 3), {MR3, R2}, EMPTY},
|
---|
419 | {"st8.rel", M, OpMXX6aHint (4, 0, 0, 0x37, 0), {MR3, R2}, EMPTY},
|
---|
420 | {"st8.rel.nta", M, OpMXX6aHint (4, 0, 0, 0x37, 3), {MR3, R2}, EMPTY},
|
---|
421 | {"st16.rel", M, OpMXX6aHint (4, 0, 1, 0x34, 0), {MR3, R2, AR_CSD}, EMPTY},
|
---|
422 | {"st16.rel.nta", M, OpMXX6aHint (4, 0, 1, 0x34, 3), {MR3, R2, AR_CSD}, EMPTY},
|
---|
423 | {"st8.spill", M, OpMXX6aHint (4, 0, 0, 0x3b, 0), {MR3, R2}, EMPTY},
|
---|
424 | {"st8.spill.nta", M, OpMXX6aHint (4, 0, 0, 0x3b, 3), {MR3, R2}, EMPTY},
|
---|
425 |
|
---|
426 | #define CMPXCHG(c,h) M, OpMXX6aHint (4, 0, 1, c, h), {R1, MR3, R2, AR_CCV}, EMPTY
|
---|
427 | #define CMPXCHG16(c,h) M, OpMXX6aHint (4, 0, 1, c, h), {R1, MR3, R2, AR_CSD, AR_CCV}, EMPTY
|
---|
428 | {"cmpxchg1.acq", CMPXCHG (0x00, 0)},
|
---|
429 | {"cmpxchg1.acq.nt1", CMPXCHG (0x00, 1)},
|
---|
430 | {"cmpxchg1.acq.nta", CMPXCHG (0x00, 3)},
|
---|
431 | {"cmpxchg2.acq", CMPXCHG (0x01, 0)},
|
---|
432 | {"cmpxchg2.acq.nt1", CMPXCHG (0x01, 1)},
|
---|
433 | {"cmpxchg2.acq.nta", CMPXCHG (0x01, 3)},
|
---|
434 | {"cmpxchg4.acq", CMPXCHG (0x02, 0)},
|
---|
435 | {"cmpxchg4.acq.nt1", CMPXCHG (0x02, 1)},
|
---|
436 | {"cmpxchg4.acq.nta", CMPXCHG (0x02, 3)},
|
---|
437 | {"cmpxchg8.acq", CMPXCHG (0x03, 0)},
|
---|
438 | {"cmpxchg8.acq.nt1", CMPXCHG (0x03, 1)},
|
---|
439 | {"cmpxchg8.acq.nta", CMPXCHG (0x03, 3)},
|
---|
440 | {"cmp8xchg16.acq", CMPXCHG16 (0x20, 0)},
|
---|
441 | {"cmp8xchg16.acq.nt1", CMPXCHG16 (0x20, 1)},
|
---|
442 | {"cmp8xchg16.acq.nta", CMPXCHG16 (0x20, 3)},
|
---|
443 | {"cmpxchg1.rel", CMPXCHG (0x04, 0)},
|
---|
444 | {"cmpxchg1.rel.nt1", CMPXCHG (0x04, 1)},
|
---|
445 | {"cmpxchg1.rel.nta", CMPXCHG (0x04, 3)},
|
---|
446 | {"cmpxchg2.rel", CMPXCHG (0x05, 0)},
|
---|
447 | {"cmpxchg2.rel.nt1", CMPXCHG (0x05, 1)},
|
---|
448 | {"cmpxchg2.rel.nta", CMPXCHG (0x05, 3)},
|
---|
449 | {"cmpxchg4.rel", CMPXCHG (0x06, 0)},
|
---|
450 | {"cmpxchg4.rel.nt1", CMPXCHG (0x06, 1)},
|
---|
451 | {"cmpxchg4.rel.nta", CMPXCHG (0x06, 3)},
|
---|
452 | {"cmpxchg8.rel", CMPXCHG (0x07, 0)},
|
---|
453 | {"cmpxchg8.rel.nt1", CMPXCHG (0x07, 1)},
|
---|
454 | {"cmpxchg8.rel.nta", CMPXCHG (0x07, 3)},
|
---|
455 | {"cmp8xchg16.rel", CMPXCHG16 (0x24, 0)},
|
---|
456 | {"cmp8xchg16.rel.nt1", CMPXCHG16 (0x24, 1)},
|
---|
457 | {"cmp8xchg16.rel.nta", CMPXCHG16 (0x24, 3)},
|
---|
458 | #undef CMPXCHG
|
---|
459 | #undef CMPXCHG16
|
---|
460 | {"xchg1", M, OpMXX6aHint (4, 0, 1, 0x08, 0), {R1, MR3, R2}, EMPTY},
|
---|
461 | {"xchg1.nt1", M, OpMXX6aHint (4, 0, 1, 0x08, 1), {R1, MR3, R2}, EMPTY},
|
---|
462 | {"xchg1.nta", M, OpMXX6aHint (4, 0, 1, 0x08, 3), {R1, MR3, R2}, EMPTY},
|
---|
463 | {"xchg2", M, OpMXX6aHint (4, 0, 1, 0x09, 0), {R1, MR3, R2}, EMPTY},
|
---|
464 | {"xchg2.nt1", M, OpMXX6aHint (4, 0, 1, 0x09, 1), {R1, MR3, R2}, EMPTY},
|
---|
465 | {"xchg2.nta", M, OpMXX6aHint (4, 0, 1, 0x09, 3), {R1, MR3, R2}, EMPTY},
|
---|
466 | {"xchg4", M, OpMXX6aHint (4, 0, 1, 0x0a, 0), {R1, MR3, R2}, EMPTY},
|
---|
467 | {"xchg4.nt1", M, OpMXX6aHint (4, 0, 1, 0x0a, 1), {R1, MR3, R2}, EMPTY},
|
---|
468 | {"xchg4.nta", M, OpMXX6aHint (4, 0, 1, 0x0a, 3), {R1, MR3, R2}, EMPTY},
|
---|
469 | {"xchg8", M, OpMXX6aHint (4, 0, 1, 0x0b, 0), {R1, MR3, R2}, EMPTY},
|
---|
470 | {"xchg8.nt1", M, OpMXX6aHint (4, 0, 1, 0x0b, 1), {R1, MR3, R2}, EMPTY},
|
---|
471 | {"xchg8.nta", M, OpMXX6aHint (4, 0, 1, 0x0b, 3), {R1, MR3, R2}, EMPTY},
|
---|
472 |
|
---|
473 | {"fetchadd4.acq", M, OpMXX6aHint (4, 0, 1, 0x12, 0), {R1, MR3, INC3}, EMPTY},
|
---|
474 | {"fetchadd4.acq.nt1", M, OpMXX6aHint (4, 0, 1, 0x12, 1), {R1, MR3, INC3}, EMPTY},
|
---|
475 | {"fetchadd4.acq.nta", M, OpMXX6aHint (4, 0, 1, 0x12, 3), {R1, MR3, INC3}, EMPTY},
|
---|
476 | {"fetchadd8.acq", M, OpMXX6aHint (4, 0, 1, 0x13, 0), {R1, MR3, INC3}, EMPTY},
|
---|
477 | {"fetchadd8.acq.nt1", M, OpMXX6aHint (4, 0, 1, 0x13, 1), {R1, MR3, INC3}, EMPTY},
|
---|
478 | {"fetchadd8.acq.nta", M, OpMXX6aHint (4, 0, 1, 0x13, 3), {R1, MR3, INC3}, EMPTY},
|
---|
479 | {"fetchadd4.rel", M, OpMXX6aHint (4, 0, 1, 0x16, 0), {R1, MR3, INC3}, EMPTY},
|
---|
480 | {"fetchadd4.rel.nt1", M, OpMXX6aHint (4, 0, 1, 0x16, 1), {R1, MR3, INC3}, EMPTY},
|
---|
481 | {"fetchadd4.rel.nta", M, OpMXX6aHint (4, 0, 1, 0x16, 3), {R1, MR3, INC3}, EMPTY},
|
---|
482 | {"fetchadd8.rel", M, OpMXX6aHint (4, 0, 1, 0x17, 0), {R1, MR3, INC3}, EMPTY},
|
---|
483 | {"fetchadd8.rel.nt1", M, OpMXX6aHint (4, 0, 1, 0x17, 1), {R1, MR3, INC3}, EMPTY},
|
---|
484 | {"fetchadd8.rel.nta", M, OpMXX6aHint (4, 0, 1, 0x17, 3), {R1, MR3, INC3}, EMPTY},
|
---|
485 |
|
---|
486 | {"getf.sig", M, OpMXX6a (4, 0, 1, 0x1c), {R1, F2}, EMPTY},
|
---|
487 | {"getf.exp", M, OpMXX6a (4, 0, 1, 0x1d), {R1, F2}, EMPTY},
|
---|
488 | {"getf.s", M, OpMXX6a (4, 0, 1, 0x1e), {R1, F2}, EMPTY},
|
---|
489 | {"getf.d", M, OpMXX6a (4, 0, 1, 0x1f), {R1, F2}, EMPTY},
|
---|
490 |
|
---|
491 | /* Integer load w/increment by immediate. */
|
---|
492 | #define LDINCIMMED(c,h) M, OpX6aHint (5, c, h), {R1, MR3, IMM9b}, POSTINC, 0, NULL
|
---|
493 | {"ld1", LDINCIMMED (0x00, 0)},
|
---|
494 | {"ld1.nt1", LDINCIMMED (0x00, 1)},
|
---|
495 | {"ld1.nta", LDINCIMMED (0x00, 3)},
|
---|
496 | {"ld2", LDINCIMMED (0x01, 0)},
|
---|
497 | {"ld2.nt1", LDINCIMMED (0x01, 1)},
|
---|
498 | {"ld2.nta", LDINCIMMED (0x01, 3)},
|
---|
499 | {"ld4", LDINCIMMED (0x02, 0)},
|
---|
500 | {"ld4.nt1", LDINCIMMED (0x02, 1)},
|
---|
501 | {"ld4.nta", LDINCIMMED (0x02, 3)},
|
---|
502 | {"ld8", LDINCIMMED (0x03, 0)},
|
---|
503 | {"ld8.nt1", LDINCIMMED (0x03, 1)},
|
---|
504 | {"ld8.nta", LDINCIMMED (0x03, 3)},
|
---|
505 | {"ld1.s", LDINCIMMED (0x04, 0)},
|
---|
506 | {"ld1.s.nt1", LDINCIMMED (0x04, 1)},
|
---|
507 | {"ld1.s.nta", LDINCIMMED (0x04, 3)},
|
---|
508 | {"ld2.s", LDINCIMMED (0x05, 0)},
|
---|
509 | {"ld2.s.nt1", LDINCIMMED (0x05, 1)},
|
---|
510 | {"ld2.s.nta", LDINCIMMED (0x05, 3)},
|
---|
511 | {"ld4.s", LDINCIMMED (0x06, 0)},
|
---|
512 | {"ld4.s.nt1", LDINCIMMED (0x06, 1)},
|
---|
513 | {"ld4.s.nta", LDINCIMMED (0x06, 3)},
|
---|
514 | {"ld8.s", LDINCIMMED (0x07, 0)},
|
---|
515 | {"ld8.s.nt1", LDINCIMMED (0x07, 1)},
|
---|
516 | {"ld8.s.nta", LDINCIMMED (0x07, 3)},
|
---|
517 | {"ld1.a", LDINCIMMED (0x08, 0)},
|
---|
518 | {"ld1.a.nt1", LDINCIMMED (0x08, 1)},
|
---|
519 | {"ld1.a.nta", LDINCIMMED (0x08, 3)},
|
---|
520 | {"ld2.a", LDINCIMMED (0x09, 0)},
|
---|
521 | {"ld2.a.nt1", LDINCIMMED (0x09, 1)},
|
---|
522 | {"ld2.a.nta", LDINCIMMED (0x09, 3)},
|
---|
523 | {"ld4.a", LDINCIMMED (0x0a, 0)},
|
---|
524 | {"ld4.a.nt1", LDINCIMMED (0x0a, 1)},
|
---|
525 | {"ld4.a.nta", LDINCIMMED (0x0a, 3)},
|
---|
526 | {"ld8.a", LDINCIMMED (0x0b, 0)},
|
---|
527 | {"ld8.a.nt1", LDINCIMMED (0x0b, 1)},
|
---|
528 | {"ld8.a.nta", LDINCIMMED (0x0b, 3)},
|
---|
529 | {"ld1.sa", LDINCIMMED (0x0c, 0)},
|
---|
530 | {"ld1.sa.nt1", LDINCIMMED (0x0c, 1)},
|
---|
531 | {"ld1.sa.nta", LDINCIMMED (0x0c, 3)},
|
---|
532 | {"ld2.sa", LDINCIMMED (0x0d, 0)},
|
---|
533 | {"ld2.sa.nt1", LDINCIMMED (0x0d, 1)},
|
---|
534 | {"ld2.sa.nta", LDINCIMMED (0x0d, 3)},
|
---|
535 | {"ld4.sa", LDINCIMMED (0x0e, 0)},
|
---|
536 | {"ld4.sa.nt1", LDINCIMMED (0x0e, 1)},
|
---|
537 | {"ld4.sa.nta", LDINCIMMED (0x0e, 3)},
|
---|
538 | {"ld8.sa", LDINCIMMED (0x0f, 0)},
|
---|
539 | {"ld8.sa.nt1", LDINCIMMED (0x0f, 1)},
|
---|
540 | {"ld8.sa.nta", LDINCIMMED (0x0f, 3)},
|
---|
541 | {"ld1.bias", LDINCIMMED (0x10, 0)},
|
---|
542 | {"ld1.bias.nt1", LDINCIMMED (0x10, 1)},
|
---|
543 | {"ld1.bias.nta", LDINCIMMED (0x10, 3)},
|
---|
544 | {"ld2.bias", LDINCIMMED (0x11, 0)},
|
---|
545 | {"ld2.bias.nt1", LDINCIMMED (0x11, 1)},
|
---|
546 | {"ld2.bias.nta", LDINCIMMED (0x11, 3)},
|
---|
547 | {"ld4.bias", LDINCIMMED (0x12, 0)},
|
---|
548 | {"ld4.bias.nt1", LDINCIMMED (0x12, 1)},
|
---|
549 | {"ld4.bias.nta", LDINCIMMED (0x12, 3)},
|
---|
550 | {"ld8.bias", LDINCIMMED (0x13, 0)},
|
---|
551 | {"ld8.bias.nt1", LDINCIMMED (0x13, 1)},
|
---|
552 | {"ld8.bias.nta", LDINCIMMED (0x13, 3)},
|
---|
553 | {"ld1.acq", LDINCIMMED (0x14, 0)},
|
---|
554 | {"ld1.acq.nt1", LDINCIMMED (0x14, 1)},
|
---|
555 | {"ld1.acq.nta", LDINCIMMED (0x14, 3)},
|
---|
556 | {"ld2.acq", LDINCIMMED (0x15, 0)},
|
---|
557 | {"ld2.acq.nt1", LDINCIMMED (0x15, 1)},
|
---|
558 | {"ld2.acq.nta", LDINCIMMED (0x15, 3)},
|
---|
559 | {"ld4.acq", LDINCIMMED (0x16, 0)},
|
---|
560 | {"ld4.acq.nt1", LDINCIMMED (0x16, 1)},
|
---|
561 | {"ld4.acq.nta", LDINCIMMED (0x16, 3)},
|
---|
562 | {"ld8.acq", LDINCIMMED (0x17, 0)},
|
---|
563 | {"ld8.acq.nt1", LDINCIMMED (0x17, 1)},
|
---|
564 | {"ld8.acq.nta", LDINCIMMED (0x17, 3)},
|
---|
565 | {"ld8.fill", LDINCIMMED (0x1b, 0)},
|
---|
566 | {"ld8.fill.nt1", LDINCIMMED (0x1b, 1)},
|
---|
567 | {"ld8.fill.nta", LDINCIMMED (0x1b, 3)},
|
---|
568 | {"ld1.c.clr", LDINCIMMED (0x20, 0)},
|
---|
569 | {"ld1.c.clr.nt1", LDINCIMMED (0x20, 1)},
|
---|
570 | {"ld1.c.clr.nta", LDINCIMMED (0x20, 3)},
|
---|
571 | {"ld2.c.clr", LDINCIMMED (0x21, 0)},
|
---|
572 | {"ld2.c.clr.nt1", LDINCIMMED (0x21, 1)},
|
---|
573 | {"ld2.c.clr.nta", LDINCIMMED (0x21, 3)},
|
---|
574 | {"ld4.c.clr", LDINCIMMED (0x22, 0)},
|
---|
575 | {"ld4.c.clr.nt1", LDINCIMMED (0x22, 1)},
|
---|
576 | {"ld4.c.clr.nta", LDINCIMMED (0x22, 3)},
|
---|
577 | {"ld8.c.clr", LDINCIMMED (0x23, 0)},
|
---|
578 | {"ld8.c.clr.nt1", LDINCIMMED (0x23, 1)},
|
---|
579 | {"ld8.c.clr.nta", LDINCIMMED (0x23, 3)},
|
---|
580 | {"ld1.c.nc", LDINCIMMED (0x24, 0)},
|
---|
581 | {"ld1.c.nc.nt1", LDINCIMMED (0x24, 1)},
|
---|
582 | {"ld1.c.nc.nta", LDINCIMMED (0x24, 3)},
|
---|
583 | {"ld2.c.nc", LDINCIMMED (0x25, 0)},
|
---|
584 | {"ld2.c.nc.nt1", LDINCIMMED (0x25, 1)},
|
---|
585 | {"ld2.c.nc.nta", LDINCIMMED (0x25, 3)},
|
---|
586 | {"ld4.c.nc", LDINCIMMED (0x26, 0)},
|
---|
587 | {"ld4.c.nc.nt1", LDINCIMMED (0x26, 1)},
|
---|
588 | {"ld4.c.nc.nta", LDINCIMMED (0x26, 3)},
|
---|
589 | {"ld8.c.nc", LDINCIMMED (0x27, 0)},
|
---|
590 | {"ld8.c.nc.nt1", LDINCIMMED (0x27, 1)},
|
---|
591 | {"ld8.c.nc.nta", LDINCIMMED (0x27, 3)},
|
---|
592 | {"ld1.c.clr.acq", LDINCIMMED (0x28, 0)},
|
---|
593 | {"ld1.c.clr.acq.nt1", LDINCIMMED (0x28, 1)},
|
---|
594 | {"ld1.c.clr.acq.nta", LDINCIMMED (0x28, 3)},
|
---|
595 | {"ld2.c.clr.acq", LDINCIMMED (0x29, 0)},
|
---|
596 | {"ld2.c.clr.acq.nt1", LDINCIMMED (0x29, 1)},
|
---|
597 | {"ld2.c.clr.acq.nta", LDINCIMMED (0x29, 3)},
|
---|
598 | {"ld4.c.clr.acq", LDINCIMMED (0x2a, 0)},
|
---|
599 | {"ld4.c.clr.acq.nt1", LDINCIMMED (0x2a, 1)},
|
---|
600 | {"ld4.c.clr.acq.nta", LDINCIMMED (0x2a, 3)},
|
---|
601 | {"ld8.c.clr.acq", LDINCIMMED (0x2b, 0)},
|
---|
602 | {"ld8.c.clr.acq.nt1", LDINCIMMED (0x2b, 1)},
|
---|
603 | {"ld8.c.clr.acq.nta", LDINCIMMED (0x2b, 3)},
|
---|
604 | #undef LDINCIMMED
|
---|
605 |
|
---|
606 | /* Store w/increment by immediate. */
|
---|
607 | #define STINCIMMED(c,h) M, OpX6aHint (5, c, h), {MR3, R2, IMM9a}, POSTINC, 0, NULL
|
---|
608 | {"st1", STINCIMMED (0x30, 0)},
|
---|
609 | {"st1.nta", STINCIMMED (0x30, 3)},
|
---|
610 | {"st2", STINCIMMED (0x31, 0)},
|
---|
611 | {"st2.nta", STINCIMMED (0x31, 3)},
|
---|
612 | {"st4", STINCIMMED (0x32, 0)},
|
---|
613 | {"st4.nta", STINCIMMED (0x32, 3)},
|
---|
614 | {"st8", STINCIMMED (0x33, 0)},
|
---|
615 | {"st8.nta", STINCIMMED (0x33, 3)},
|
---|
616 | {"st1.rel", STINCIMMED (0x34, 0)},
|
---|
617 | {"st1.rel.nta", STINCIMMED (0x34, 3)},
|
---|
618 | {"st2.rel", STINCIMMED (0x35, 0)},
|
---|
619 | {"st2.rel.nta", STINCIMMED (0x35, 3)},
|
---|
620 | {"st4.rel", STINCIMMED (0x36, 0)},
|
---|
621 | {"st4.rel.nta", STINCIMMED (0x36, 3)},
|
---|
622 | {"st8.rel", STINCIMMED (0x37, 0)},
|
---|
623 | {"st8.rel.nta", STINCIMMED (0x37, 3)},
|
---|
624 | {"st8.spill", STINCIMMED (0x3b, 0)},
|
---|
625 | {"st8.spill.nta", STINCIMMED (0x3b, 3)},
|
---|
626 | #undef STINCIMMED
|
---|
627 |
|
---|
628 | /* Floating-point load. */
|
---|
629 | {"ldfs", M, OpMXX6aHint (6, 0, 0, 0x02, 0), {F1, MR3}, EMPTY},
|
---|
630 | {"ldfs.nt1", M, OpMXX6aHint (6, 0, 0, 0x02, 1), {F1, MR3}, EMPTY},
|
---|
631 | {"ldfs.nta", M, OpMXX6aHint (6, 0, 0, 0x02, 3), {F1, MR3}, EMPTY},
|
---|
632 | {"ldfd", M, OpMXX6aHint (6, 0, 0, 0x03, 0), {F1, MR3}, EMPTY},
|
---|
633 | {"ldfd.nt1", M, OpMXX6aHint (6, 0, 0, 0x03, 1), {F1, MR3}, EMPTY},
|
---|
634 | {"ldfd.nta", M, OpMXX6aHint (6, 0, 0, 0x03, 3), {F1, MR3}, EMPTY},
|
---|
635 | {"ldf8", M, OpMXX6aHint (6, 0, 0, 0x01, 0), {F1, MR3}, EMPTY},
|
---|
636 | {"ldf8.nt1", M, OpMXX6aHint (6, 0, 0, 0x01, 1), {F1, MR3}, EMPTY},
|
---|
637 | {"ldf8.nta", M, OpMXX6aHint (6, 0, 0, 0x01, 3), {F1, MR3}, EMPTY},
|
---|
638 | {"ldfe", M, OpMXX6aHint (6, 0, 0, 0x00, 0), {F1, MR3}, EMPTY},
|
---|
639 | {"ldfe.nt1", M, OpMXX6aHint (6, 0, 0, 0x00, 1), {F1, MR3}, EMPTY},
|
---|
640 | {"ldfe.nta", M, OpMXX6aHint (6, 0, 0, 0x00, 3), {F1, MR3}, EMPTY},
|
---|
641 | {"ldfs.s", M, OpMXX6aHint (6, 0, 0, 0x06, 0), {F1, MR3}, EMPTY},
|
---|
642 | {"ldfs.s.nt1", M, OpMXX6aHint (6, 0, 0, 0x06, 1), {F1, MR3}, EMPTY},
|
---|
643 | {"ldfs.s.nta", M, OpMXX6aHint (6, 0, 0, 0x06, 3), {F1, MR3}, EMPTY},
|
---|
644 | {"ldfd.s", M, OpMXX6aHint (6, 0, 0, 0x07, 0), {F1, MR3}, EMPTY},
|
---|
645 | {"ldfd.s.nt1", M, OpMXX6aHint (6, 0, 0, 0x07, 1), {F1, MR3}, EMPTY},
|
---|
646 | {"ldfd.s.nta", M, OpMXX6aHint (6, 0, 0, 0x07, 3), {F1, MR3}, EMPTY},
|
---|
647 | {"ldf8.s", M, OpMXX6aHint (6, 0, 0, 0x05, 0), {F1, MR3}, EMPTY},
|
---|
648 | {"ldf8.s.nt1", M, OpMXX6aHint (6, 0, 0, 0x05, 1), {F1, MR3}, EMPTY},
|
---|
649 | {"ldf8.s.nta", M, OpMXX6aHint (6, 0, 0, 0x05, 3), {F1, MR3}, EMPTY},
|
---|
650 | {"ldfe.s", M, OpMXX6aHint (6, 0, 0, 0x04, 0), {F1, MR3}, EMPTY},
|
---|
651 | {"ldfe.s.nt1", M, OpMXX6aHint (6, 0, 0, 0x04, 1), {F1, MR3}, EMPTY},
|
---|
652 | {"ldfe.s.nta", M, OpMXX6aHint (6, 0, 0, 0x04, 3), {F1, MR3}, EMPTY},
|
---|
653 | {"ldfs.a", M, OpMXX6aHint (6, 0, 0, 0x0a, 0), {F1, MR3}, EMPTY},
|
---|
654 | {"ldfs.a.nt1", M, OpMXX6aHint (6, 0, 0, 0x0a, 1), {F1, MR3}, EMPTY},
|
---|
655 | {"ldfs.a.nta", M, OpMXX6aHint (6, 0, 0, 0x0a, 3), {F1, MR3}, EMPTY},
|
---|
656 | {"ldfd.a", M, OpMXX6aHint (6, 0, 0, 0x0b, 0), {F1, MR3}, EMPTY},
|
---|
657 | {"ldfd.a.nt1", M, OpMXX6aHint (6, 0, 0, 0x0b, 1), {F1, MR3}, EMPTY},
|
---|
658 | {"ldfd.a.nta", M, OpMXX6aHint (6, 0, 0, 0x0b, 3), {F1, MR3}, EMPTY},
|
---|
659 | {"ldf8.a", M, OpMXX6aHint (6, 0, 0, 0x09, 0), {F1, MR3}, EMPTY},
|
---|
660 | {"ldf8.a.nt1", M, OpMXX6aHint (6, 0, 0, 0x09, 1), {F1, MR3}, EMPTY},
|
---|
661 | {"ldf8.a.nta", M, OpMXX6aHint (6, 0, 0, 0x09, 3), {F1, MR3}, EMPTY},
|
---|
662 | {"ldfe.a", M, OpMXX6aHint (6, 0, 0, 0x08, 0), {F1, MR3}, EMPTY},
|
---|
663 | {"ldfe.a.nt1", M, OpMXX6aHint (6, 0, 0, 0x08, 1), {F1, MR3}, EMPTY},
|
---|
664 | {"ldfe.a.nta", M, OpMXX6aHint (6, 0, 0, 0x08, 3), {F1, MR3}, EMPTY},
|
---|
665 | {"ldfs.sa", M, OpMXX6aHint (6, 0, 0, 0x0e, 0), {F1, MR3}, EMPTY},
|
---|
666 | {"ldfs.sa.nt1", M, OpMXX6aHint (6, 0, 0, 0x0e, 1), {F1, MR3}, EMPTY},
|
---|
667 | {"ldfs.sa.nta", M, OpMXX6aHint (6, 0, 0, 0x0e, 3), {F1, MR3}, EMPTY},
|
---|
668 | {"ldfd.sa", M, OpMXX6aHint (6, 0, 0, 0x0f, 0), {F1, MR3}, EMPTY},
|
---|
669 | {"ldfd.sa.nt1", M, OpMXX6aHint (6, 0, 0, 0x0f, 1), {F1, MR3}, EMPTY},
|
---|
670 | {"ldfd.sa.nta", M, OpMXX6aHint (6, 0, 0, 0x0f, 3), {F1, MR3}, EMPTY},
|
---|
671 | {"ldf8.sa", M, OpMXX6aHint (6, 0, 0, 0x0d, 0), {F1, MR3}, EMPTY},
|
---|
672 | {"ldf8.sa.nt1", M, OpMXX6aHint (6, 0, 0, 0x0d, 1), {F1, MR3}, EMPTY},
|
---|
673 | {"ldf8.sa.nta", M, OpMXX6aHint (6, 0, 0, 0x0d, 3), {F1, MR3}, EMPTY},
|
---|
674 | {"ldfe.sa", M, OpMXX6aHint (6, 0, 0, 0x0c, 0), {F1, MR3}, EMPTY},
|
---|
675 | {"ldfe.sa.nt1", M, OpMXX6aHint (6, 0, 0, 0x0c, 1), {F1, MR3}, EMPTY},
|
---|
676 | {"ldfe.sa.nta", M, OpMXX6aHint (6, 0, 0, 0x0c, 3), {F1, MR3}, EMPTY},
|
---|
677 | {"ldf.fill", M, OpMXX6aHint (6, 0, 0, 0x1b, 0), {F1, MR3}, EMPTY},
|
---|
678 | {"ldf.fill.nt1", M, OpMXX6aHint (6, 0, 0, 0x1b, 1), {F1, MR3}, EMPTY},
|
---|
679 | {"ldf.fill.nta", M, OpMXX6aHint (6, 0, 0, 0x1b, 3), {F1, MR3}, EMPTY},
|
---|
680 | {"ldfs.c.clr", M, OpMXX6aHint (6, 0, 0, 0x22, 0), {F1, MR3}, EMPTY},
|
---|
681 | {"ldfs.c.clr.nt1", M, OpMXX6aHint (6, 0, 0, 0x22, 1), {F1, MR3}, EMPTY},
|
---|
682 | {"ldfs.c.clr.nta", M, OpMXX6aHint (6, 0, 0, 0x22, 3), {F1, MR3}, EMPTY},
|
---|
683 | {"ldfd.c.clr", M, OpMXX6aHint (6, 0, 0, 0x23, 0), {F1, MR3}, EMPTY},
|
---|
684 | {"ldfd.c.clr.nt1", M, OpMXX6aHint (6, 0, 0, 0x23, 1), {F1, MR3}, EMPTY},
|
---|
685 | {"ldfd.c.clr.nta", M, OpMXX6aHint (6, 0, 0, 0x23, 3), {F1, MR3}, EMPTY},
|
---|
686 | {"ldf8.c.clr", M, OpMXX6aHint (6, 0, 0, 0x21, 0), {F1, MR3}, EMPTY},
|
---|
687 | {"ldf8.c.clr.nt1", M, OpMXX6aHint (6, 0, 0, 0x21, 1), {F1, MR3}, EMPTY},
|
---|
688 | {"ldf8.c.clr.nta", M, OpMXX6aHint (6, 0, 0, 0x21, 3), {F1, MR3}, EMPTY},
|
---|
689 | {"ldfe.c.clr", M, OpMXX6aHint (6, 0, 0, 0x20, 0), {F1, MR3}, EMPTY},
|
---|
690 | {"ldfe.c.clr.nt1", M, OpMXX6aHint (6, 0, 0, 0x20, 1), {F1, MR3}, EMPTY},
|
---|
691 | {"ldfe.c.clr.nta", M, OpMXX6aHint (6, 0, 0, 0x20, 3), {F1, MR3}, EMPTY},
|
---|
692 | {"ldfs.c.nc", M, OpMXX6aHint (6, 0, 0, 0x26, 0), {F1, MR3}, EMPTY},
|
---|
693 | {"ldfs.c.nc.nt1", M, OpMXX6aHint (6, 0, 0, 0x26, 1), {F1, MR3}, EMPTY},
|
---|
694 | {"ldfs.c.nc.nta", M, OpMXX6aHint (6, 0, 0, 0x26, 3), {F1, MR3}, EMPTY},
|
---|
695 | {"ldfd.c.nc", M, OpMXX6aHint (6, 0, 0, 0x27, 0), {F1, MR3}, EMPTY},
|
---|
696 | {"ldfd.c.nc.nt1", M, OpMXX6aHint (6, 0, 0, 0x27, 1), {F1, MR3}, EMPTY},
|
---|
697 | {"ldfd.c.nc.nta", M, OpMXX6aHint (6, 0, 0, 0x27, 3), {F1, MR3}, EMPTY},
|
---|
698 | {"ldf8.c.nc", M, OpMXX6aHint (6, 0, 0, 0x25, 0), {F1, MR3}, EMPTY},
|
---|
699 | {"ldf8.c.nc.nt1", M, OpMXX6aHint (6, 0, 0, 0x25, 1), {F1, MR3}, EMPTY},
|
---|
700 | {"ldf8.c.nc.nta", M, OpMXX6aHint (6, 0, 0, 0x25, 3), {F1, MR3}, EMPTY},
|
---|
701 | {"ldfe.c.nc", M, OpMXX6aHint (6, 0, 0, 0x24, 0), {F1, MR3}, EMPTY},
|
---|
702 | {"ldfe.c.nc.nt1", M, OpMXX6aHint (6, 0, 0, 0x24, 1), {F1, MR3}, EMPTY},
|
---|
703 | {"ldfe.c.nc.nta", M, OpMXX6aHint (6, 0, 0, 0x24, 3), {F1, MR3}, EMPTY},
|
---|
704 |
|
---|
705 | /* Floating-point load w/increment by register. */
|
---|
706 | #define FLDINCREG(c,h) M, OpMXX6aHint (6, 1, 0, c, h), {F1, MR3, R2}, POSTINC, 0, NULL
|
---|
707 | {"ldfs", FLDINCREG (0x02, 0)},
|
---|
708 | {"ldfs.nt1", FLDINCREG (0x02, 1)},
|
---|
709 | {"ldfs.nta", FLDINCREG (0x02, 3)},
|
---|
710 | {"ldfd", FLDINCREG (0x03, 0)},
|
---|
711 | {"ldfd.nt1", FLDINCREG (0x03, 1)},
|
---|
712 | {"ldfd.nta", FLDINCREG (0x03, 3)},
|
---|
713 | {"ldf8", FLDINCREG (0x01, 0)},
|
---|
714 | {"ldf8.nt1", FLDINCREG (0x01, 1)},
|
---|
715 | {"ldf8.nta", FLDINCREG (0x01, 3)},
|
---|
716 | {"ldfe", FLDINCREG (0x00, 0)},
|
---|
717 | {"ldfe.nt1", FLDINCREG (0x00, 1)},
|
---|
718 | {"ldfe.nta", FLDINCREG (0x00, 3)},
|
---|
719 | {"ldfs.s", FLDINCREG (0x06, 0)},
|
---|
720 | {"ldfs.s.nt1", FLDINCREG (0x06, 1)},
|
---|
721 | {"ldfs.s.nta", FLDINCREG (0x06, 3)},
|
---|
722 | {"ldfd.s", FLDINCREG (0x07, 0)},
|
---|
723 | {"ldfd.s.nt1", FLDINCREG (0x07, 1)},
|
---|
724 | {"ldfd.s.nta", FLDINCREG (0x07, 3)},
|
---|
725 | {"ldf8.s", FLDINCREG (0x05, 0)},
|
---|
726 | {"ldf8.s.nt1", FLDINCREG (0x05, 1)},
|
---|
727 | {"ldf8.s.nta", FLDINCREG (0x05, 3)},
|
---|
728 | {"ldfe.s", FLDINCREG (0x04, 0)},
|
---|
729 | {"ldfe.s.nt1", FLDINCREG (0x04, 1)},
|
---|
730 | {"ldfe.s.nta", FLDINCREG (0x04, 3)},
|
---|
731 | {"ldfs.a", FLDINCREG (0x0a, 0)},
|
---|
732 | {"ldfs.a.nt1", FLDINCREG (0x0a, 1)},
|
---|
733 | {"ldfs.a.nta", FLDINCREG (0x0a, 3)},
|
---|
734 | {"ldfd.a", FLDINCREG (0x0b, 0)},
|
---|
735 | {"ldfd.a.nt1", FLDINCREG (0x0b, 1)},
|
---|
736 | {"ldfd.a.nta", FLDINCREG (0x0b, 3)},
|
---|
737 | {"ldf8.a", FLDINCREG (0x09, 0)},
|
---|
738 | {"ldf8.a.nt1", FLDINCREG (0x09, 1)},
|
---|
739 | {"ldf8.a.nta", FLDINCREG (0x09, 3)},
|
---|
740 | {"ldfe.a", FLDINCREG (0x08, 0)},
|
---|
741 | {"ldfe.a.nt1", FLDINCREG (0x08, 1)},
|
---|
742 | {"ldfe.a.nta", FLDINCREG (0x08, 3)},
|
---|
743 | {"ldfs.sa", FLDINCREG (0x0e, 0)},
|
---|
744 | {"ldfs.sa.nt1", FLDINCREG (0x0e, 1)},
|
---|
745 | {"ldfs.sa.nta", FLDINCREG (0x0e, 3)},
|
---|
746 | {"ldfd.sa", FLDINCREG (0x0f, 0)},
|
---|
747 | {"ldfd.sa.nt1", FLDINCREG (0x0f, 1)},
|
---|
748 | {"ldfd.sa.nta", FLDINCREG (0x0f, 3)},
|
---|
749 | {"ldf8.sa", FLDINCREG (0x0d, 0)},
|
---|
750 | {"ldf8.sa.nt1", FLDINCREG (0x0d, 1)},
|
---|
751 | {"ldf8.sa.nta", FLDINCREG (0x0d, 3)},
|
---|
752 | {"ldfe.sa", FLDINCREG (0x0c, 0)},
|
---|
753 | {"ldfe.sa.nt1", FLDINCREG (0x0c, 1)},
|
---|
754 | {"ldfe.sa.nta", FLDINCREG (0x0c, 3)},
|
---|
755 | {"ldf.fill", FLDINCREG (0x1b, 0)},
|
---|
756 | {"ldf.fill.nt1", FLDINCREG (0x1b, 1)},
|
---|
757 | {"ldf.fill.nta", FLDINCREG (0x1b, 3)},
|
---|
758 | {"ldfs.c.clr", FLDINCREG (0x22, 0)},
|
---|
759 | {"ldfs.c.clr.nt1", FLDINCREG (0x22, 1)},
|
---|
760 | {"ldfs.c.clr.nta", FLDINCREG (0x22, 3)},
|
---|
761 | {"ldfd.c.clr", FLDINCREG (0x23, 0)},
|
---|
762 | {"ldfd.c.clr.nt1", FLDINCREG (0x23, 1)},
|
---|
763 | {"ldfd.c.clr.nta", FLDINCREG (0x23, 3)},
|
---|
764 | {"ldf8.c.clr", FLDINCREG (0x21, 0)},
|
---|
765 | {"ldf8.c.clr.nt1", FLDINCREG (0x21, 1)},
|
---|
766 | {"ldf8.c.clr.nta", FLDINCREG (0x21, 3)},
|
---|
767 | {"ldfe.c.clr", FLDINCREG (0x20, 0)},
|
---|
768 | {"ldfe.c.clr.nt1", FLDINCREG (0x20, 1)},
|
---|
769 | {"ldfe.c.clr.nta", FLDINCREG (0x20, 3)},
|
---|
770 | {"ldfs.c.nc", FLDINCREG (0x26, 0)},
|
---|
771 | {"ldfs.c.nc.nt1", FLDINCREG (0x26, 1)},
|
---|
772 | {"ldfs.c.nc.nta", FLDINCREG (0x26, 3)},
|
---|
773 | {"ldfd.c.nc", FLDINCREG (0x27, 0)},
|
---|
774 | {"ldfd.c.nc.nt1", FLDINCREG (0x27, 1)},
|
---|
775 | {"ldfd.c.nc.nta", FLDINCREG (0x27, 3)},
|
---|
776 | {"ldf8.c.nc", FLDINCREG (0x25, 0)},
|
---|
777 | {"ldf8.c.nc.nt1", FLDINCREG (0x25, 1)},
|
---|
778 | {"ldf8.c.nc.nta", FLDINCREG (0x25, 3)},
|
---|
779 | {"ldfe.c.nc", FLDINCREG (0x24, 0)},
|
---|
780 | {"ldfe.c.nc.nt1", FLDINCREG (0x24, 1)},
|
---|
781 | {"ldfe.c.nc.nta", FLDINCREG (0x24, 3)},
|
---|
782 | #undef FLDINCREG
|
---|
783 |
|
---|
784 | /* Floating-point store. */
|
---|
785 | {"stfs", M, OpMXX6aHint (6, 0, 0, 0x32, 0), {MR3, F2}, EMPTY},
|
---|
786 | {"stfs.nta", M, OpMXX6aHint (6, 0, 0, 0x32, 3), {MR3, F2}, EMPTY},
|
---|
787 | {"stfd", M, OpMXX6aHint (6, 0, 0, 0x33, 0), {MR3, F2}, EMPTY},
|
---|
788 | {"stfd.nta", M, OpMXX6aHint (6, 0, 0, 0x33, 3), {MR3, F2}, EMPTY},
|
---|
789 | {"stf8", M, OpMXX6aHint (6, 0, 0, 0x31, 0), {MR3, F2}, EMPTY},
|
---|
790 | {"stf8.nta", M, OpMXX6aHint (6, 0, 0, 0x31, 3), {MR3, F2}, EMPTY},
|
---|
791 | {"stfe", M, OpMXX6aHint (6, 0, 0, 0x30, 0), {MR3, F2}, EMPTY},
|
---|
792 | {"stfe.nta", M, OpMXX6aHint (6, 0, 0, 0x30, 3), {MR3, F2}, EMPTY},
|
---|
793 | {"stf.spill", M, OpMXX6aHint (6, 0, 0, 0x3b, 0), {MR3, F2}, EMPTY},
|
---|
794 | {"stf.spill.nta", M, OpMXX6aHint (6, 0, 0, 0x3b, 3), {MR3, F2}, EMPTY},
|
---|
795 |
|
---|
796 | /* Floating-point load pair. */
|
---|
797 | {"ldfps", M2, OpMXX6aHint (6, 0, 1, 0x02, 0), {F1, F2, MR3}, EMPTY},
|
---|
798 | {"ldfps.nt1", M2, OpMXX6aHint (6, 0, 1, 0x02, 1), {F1, F2, MR3}, EMPTY},
|
---|
799 | {"ldfps.nta", M2, OpMXX6aHint (6, 0, 1, 0x02, 3), {F1, F2, MR3}, EMPTY},
|
---|
800 | {"ldfpd", M2, OpMXX6aHint (6, 0, 1, 0x03, 0), {F1, F2, MR3}, EMPTY},
|
---|
801 | {"ldfpd.nt1", M2, OpMXX6aHint (6, 0, 1, 0x03, 1), {F1, F2, MR3}, EMPTY},
|
---|
802 | {"ldfpd.nta", M2, OpMXX6aHint (6, 0, 1, 0x03, 3), {F1, F2, MR3}, EMPTY},
|
---|
803 | {"ldfp8", M2, OpMXX6aHint (6, 0, 1, 0x01, 0), {F1, F2, MR3}, EMPTY},
|
---|
804 | {"ldfp8.nt1", M2, OpMXX6aHint (6, 0, 1, 0x01, 1), {F1, F2, MR3}, EMPTY},
|
---|
805 | {"ldfp8.nta", M2, OpMXX6aHint (6, 0, 1, 0x01, 3), {F1, F2, MR3}, EMPTY},
|
---|
806 | {"ldfps.s", M2, OpMXX6aHint (6, 0, 1, 0x06, 0), {F1, F2, MR3}, EMPTY},
|
---|
807 | {"ldfps.s.nt1", M2, OpMXX6aHint (6, 0, 1, 0x06, 1), {F1, F2, MR3}, EMPTY},
|
---|
808 | {"ldfps.s.nta", M2, OpMXX6aHint (6, 0, 1, 0x06, 3), {F1, F2, MR3}, EMPTY},
|
---|
809 | {"ldfpd.s", M2, OpMXX6aHint (6, 0, 1, 0x07, 0), {F1, F2, MR3}, EMPTY},
|
---|
810 | {"ldfpd.s.nt1", M2, OpMXX6aHint (6, 0, 1, 0x07, 1), {F1, F2, MR3}, EMPTY},
|
---|
811 | {"ldfpd.s.nta", M2, OpMXX6aHint (6, 0, 1, 0x07, 3), {F1, F2, MR3}, EMPTY},
|
---|
812 | {"ldfp8.s", M2, OpMXX6aHint (6, 0, 1, 0x05, 0), {F1, F2, MR3}, EMPTY},
|
---|
813 | {"ldfp8.s.nt1", M2, OpMXX6aHint (6, 0, 1, 0x05, 1), {F1, F2, MR3}, EMPTY},
|
---|
814 | {"ldfp8.s.nta", M2, OpMXX6aHint (6, 0, 1, 0x05, 3), {F1, F2, MR3}, EMPTY},
|
---|
815 | {"ldfps.a", M2, OpMXX6aHint (6, 0, 1, 0x0a, 0), {F1, F2, MR3}, EMPTY},
|
---|
816 | {"ldfps.a.nt1", M2, OpMXX6aHint (6, 0, 1, 0x0a, 1), {F1, F2, MR3}, EMPTY},
|
---|
817 | {"ldfps.a.nta", M2, OpMXX6aHint (6, 0, 1, 0x0a, 3), {F1, F2, MR3}, EMPTY},
|
---|
818 | {"ldfpd.a", M2, OpMXX6aHint (6, 0, 1, 0x0b, 0), {F1, F2, MR3}, EMPTY},
|
---|
819 | {"ldfpd.a.nt1", M2, OpMXX6aHint (6, 0, 1, 0x0b, 1), {F1, F2, MR3}, EMPTY},
|
---|
820 | {"ldfpd.a.nta", M2, OpMXX6aHint (6, 0, 1, 0x0b, 3), {F1, F2, MR3}, EMPTY},
|
---|
821 | {"ldfp8.a", M2, OpMXX6aHint (6, 0, 1, 0x09, 0), {F1, F2, MR3}, EMPTY},
|
---|
822 | {"ldfp8.a.nt1", M2, OpMXX6aHint (6, 0, 1, 0x09, 1), {F1, F2, MR3}, EMPTY},
|
---|
823 | {"ldfp8.a.nta", M2, OpMXX6aHint (6, 0, 1, 0x09, 3), {F1, F2, MR3}, EMPTY},
|
---|
824 | {"ldfps.sa", M2, OpMXX6aHint (6, 0, 1, 0x0e, 0), {F1, F2, MR3}, EMPTY},
|
---|
825 | {"ldfps.sa.nt1", M2, OpMXX6aHint (6, 0, 1, 0x0e, 1), {F1, F2, MR3}, EMPTY},
|
---|
826 | {"ldfps.sa.nta", M2, OpMXX6aHint (6, 0, 1, 0x0e, 3), {F1, F2, MR3}, EMPTY},
|
---|
827 | {"ldfpd.sa", M2, OpMXX6aHint (6, 0, 1, 0x0f, 0), {F1, F2, MR3}, EMPTY},
|
---|
828 | {"ldfpd.sa.nt1", M2, OpMXX6aHint (6, 0, 1, 0x0f, 1), {F1, F2, MR3}, EMPTY},
|
---|
829 | {"ldfpd.sa.nta", M2, OpMXX6aHint (6, 0, 1, 0x0f, 3), {F1, F2, MR3}, EMPTY},
|
---|
830 | {"ldfp8.sa", M2, OpMXX6aHint (6, 0, 1, 0x0d, 0), {F1, F2, MR3}, EMPTY},
|
---|
831 | {"ldfp8.sa.nt1", M2, OpMXX6aHint (6, 0, 1, 0x0d, 1), {F1, F2, MR3}, EMPTY},
|
---|
832 | {"ldfp8.sa.nta", M2, OpMXX6aHint (6, 0, 1, 0x0d, 3), {F1, F2, MR3}, EMPTY},
|
---|
833 | {"ldfps.c.clr", M2, OpMXX6aHint (6, 0, 1, 0x22, 0), {F1, F2, MR3}, EMPTY},
|
---|
834 | {"ldfps.c.clr.nt1", M2, OpMXX6aHint (6, 0, 1, 0x22, 1), {F1, F2, MR3}, EMPTY},
|
---|
835 | {"ldfps.c.clr.nta", M2, OpMXX6aHint (6, 0, 1, 0x22, 3), {F1, F2, MR3}, EMPTY},
|
---|
836 | {"ldfpd.c.clr", M2, OpMXX6aHint (6, 0, 1, 0x23, 0), {F1, F2, MR3}, EMPTY},
|
---|
837 | {"ldfpd.c.clr.nt1", M2, OpMXX6aHint (6, 0, 1, 0x23, 1), {F1, F2, MR3}, EMPTY},
|
---|
838 | {"ldfpd.c.clr.nta", M2, OpMXX6aHint (6, 0, 1, 0x23, 3), {F1, F2, MR3}, EMPTY},
|
---|
839 | {"ldfp8.c.clr", M2, OpMXX6aHint (6, 0, 1, 0x21, 0), {F1, F2, MR3}, EMPTY},
|
---|
840 | {"ldfp8.c.clr.nt1", M2, OpMXX6aHint (6, 0, 1, 0x21, 1), {F1, F2, MR3}, EMPTY},
|
---|
841 | {"ldfp8.c.clr.nta", M2, OpMXX6aHint (6, 0, 1, 0x21, 3), {F1, F2, MR3}, EMPTY},
|
---|
842 | {"ldfps.c.nc", M2, OpMXX6aHint (6, 0, 1, 0x26, 0), {F1, F2, MR3}, EMPTY},
|
---|
843 | {"ldfps.c.nc.nt1", M2, OpMXX6aHint (6, 0, 1, 0x26, 1), {F1, F2, MR3}, EMPTY},
|
---|
844 | {"ldfps.c.nc.nta", M2, OpMXX6aHint (6, 0, 1, 0x26, 3), {F1, F2, MR3}, EMPTY},
|
---|
845 | {"ldfpd.c.nc", M2, OpMXX6aHint (6, 0, 1, 0x27, 0), {F1, F2, MR3}, EMPTY},
|
---|
846 | {"ldfpd.c.nc.nt1", M2, OpMXX6aHint (6, 0, 1, 0x27, 1), {F1, F2, MR3}, EMPTY},
|
---|
847 | {"ldfpd.c.nc.nta", M2, OpMXX6aHint (6, 0, 1, 0x27, 3), {F1, F2, MR3}, EMPTY},
|
---|
848 | {"ldfp8.c.nc", M2, OpMXX6aHint (6, 0, 1, 0x25, 0), {F1, F2, MR3}, EMPTY},
|
---|
849 | {"ldfp8.c.nc.nt1", M2, OpMXX6aHint (6, 0, 1, 0x25, 1), {F1, F2, MR3}, EMPTY},
|
---|
850 | {"ldfp8.c.nc.nta", M2, OpMXX6aHint (6, 0, 1, 0x25, 3), {F1, F2, MR3}, EMPTY},
|
---|
851 |
|
---|
852 | /* Floating-point load pair w/increment by immediate. */
|
---|
853 | #define LD(a,b,c) M2, OpMXX6aHint (6, 1, 1, a, b), {F1, F2, MR3, c}, POSTINC, 0, NULL
|
---|
854 | {"ldfps", LD (0x02, 0, C8)},
|
---|
855 | {"ldfps.nt1", LD (0x02, 1, C8)},
|
---|
856 | {"ldfps.nta", LD (0x02, 3, C8)},
|
---|
857 | {"ldfpd", LD (0x03, 0, C16)},
|
---|
858 | {"ldfpd.nt1", LD (0x03, 1, C16)},
|
---|
859 | {"ldfpd.nta", LD (0x03, 3, C16)},
|
---|
860 | {"ldfp8", LD (0x01, 0, C16)},
|
---|
861 | {"ldfp8.nt1", LD (0x01, 1, C16)},
|
---|
862 | {"ldfp8.nta", LD (0x01, 3, C16)},
|
---|
863 | {"ldfps.s", LD (0x06, 0, C8)},
|
---|
864 | {"ldfps.s.nt1", LD (0x06, 1, C8)},
|
---|
865 | {"ldfps.s.nta", LD (0x06, 3, C8)},
|
---|
866 | {"ldfpd.s", LD (0x07, 0, C16)},
|
---|
867 | {"ldfpd.s.nt1", LD (0x07, 1, C16)},
|
---|
868 | {"ldfpd.s.nta", LD (0x07, 3, C16)},
|
---|
869 | {"ldfp8.s", LD (0x05, 0, C16)},
|
---|
870 | {"ldfp8.s.nt1", LD (0x05, 1, C16)},
|
---|
871 | {"ldfp8.s.nta", LD (0x05, 3, C16)},
|
---|
872 | {"ldfps.a", LD (0x0a, 0, C8)},
|
---|
873 | {"ldfps.a.nt1", LD (0x0a, 1, C8)},
|
---|
874 | {"ldfps.a.nta", LD (0x0a, 3, C8)},
|
---|
875 | {"ldfpd.a", LD (0x0b, 0, C16)},
|
---|
876 | {"ldfpd.a.nt1", LD (0x0b, 1, C16)},
|
---|
877 | {"ldfpd.a.nta", LD (0x0b, 3, C16)},
|
---|
878 | {"ldfp8.a", LD (0x09, 0, C16)},
|
---|
879 | {"ldfp8.a.nt1", LD (0x09, 1, C16)},
|
---|
880 | {"ldfp8.a.nta", LD (0x09, 3, C16)},
|
---|
881 | {"ldfps.sa", LD (0x0e, 0, C8)},
|
---|
882 | {"ldfps.sa.nt1", LD (0x0e, 1, C8)},
|
---|
883 | {"ldfps.sa.nta", LD (0x0e, 3, C8)},
|
---|
884 | {"ldfpd.sa", LD (0x0f, 0, C16)},
|
---|
885 | {"ldfpd.sa.nt1", LD (0x0f, 1, C16)},
|
---|
886 | {"ldfpd.sa.nta", LD (0x0f, 3, C16)},
|
---|
887 | {"ldfp8.sa", LD (0x0d, 0, C16)},
|
---|
888 | {"ldfp8.sa.nt1", LD (0x0d, 1, C16)},
|
---|
889 | {"ldfp8.sa.nta", LD (0x0d, 3, C16)},
|
---|
890 | {"ldfps.c.clr", LD (0x22, 0, C8)},
|
---|
891 | {"ldfps.c.clr.nt1", LD (0x22, 1, C8)},
|
---|
892 | {"ldfps.c.clr.nta", LD (0x22, 3, C8)},
|
---|
893 | {"ldfpd.c.clr", LD (0x23, 0, C16)},
|
---|
894 | {"ldfpd.c.clr.nt1", LD (0x23, 1, C16)},
|
---|
895 | {"ldfpd.c.clr.nta", LD (0x23, 3, C16)},
|
---|
896 | {"ldfp8.c.clr", LD (0x21, 0, C16)},
|
---|
897 | {"ldfp8.c.clr.nt1", LD (0x21, 1, C16)},
|
---|
898 | {"ldfp8.c.clr.nta", LD (0x21, 3, C16)},
|
---|
899 | {"ldfps.c.nc", LD (0x26, 0, C8)},
|
---|
900 | {"ldfps.c.nc.nt1", LD (0x26, 1, C8)},
|
---|
901 | {"ldfps.c.nc.nta", LD (0x26, 3, C8)},
|
---|
902 | {"ldfpd.c.nc", LD (0x27, 0, C16)},
|
---|
903 | {"ldfpd.c.nc.nt1", LD (0x27, 1, C16)},
|
---|
904 | {"ldfpd.c.nc.nta", LD (0x27, 3, C16)},
|
---|
905 | {"ldfp8.c.nc", LD (0x25, 0, C16)},
|
---|
906 | {"ldfp8.c.nc.nt1", LD (0x25, 1, C16)},
|
---|
907 | {"ldfp8.c.nc.nta", LD (0x25, 3, C16)},
|
---|
908 | #undef LD
|
---|
909 |
|
---|
910 | /* Line prefetch. */
|
---|
911 | {"lfetch", M0, OpMXX6aHint (6, 0, 0, 0x2c, 0), {MR3}, EMPTY},
|
---|
912 | {"lfetch.nt1", M0, OpMXX6aHint (6, 0, 0, 0x2c, 1), {MR3}, EMPTY},
|
---|
913 | {"lfetch.nt2", M0, OpMXX6aHint (6, 0, 0, 0x2c, 2), {MR3}, EMPTY},
|
---|
914 | {"lfetch.nta", M0, OpMXX6aHint (6, 0, 0, 0x2c, 3), {MR3}, EMPTY},
|
---|
915 | {"lfetch.excl", M0, OpMXX6aHint (6, 0, 0, 0x2d, 0), {MR3}, EMPTY},
|
---|
916 | {"lfetch.excl.nt1", M0, OpMXX6aHint (6, 0, 0, 0x2d, 1), {MR3}, EMPTY},
|
---|
917 | {"lfetch.excl.nt2", M0, OpMXX6aHint (6, 0, 0, 0x2d, 2), {MR3}, EMPTY},
|
---|
918 | {"lfetch.excl.nta", M0, OpMXX6aHint (6, 0, 0, 0x2d, 3), {MR3}, EMPTY},
|
---|
919 | {"lfetch.fault", M0, OpMXX6aHint (6, 0, 0, 0x2e, 0), {MR3}, EMPTY},
|
---|
920 | {"lfetch.fault.nt1", M0, OpMXX6aHint (6, 0, 0, 0x2e, 1), {MR3}, EMPTY},
|
---|
921 | {"lfetch.fault.nt2", M0, OpMXX6aHint (6, 0, 0, 0x2e, 2), {MR3}, EMPTY},
|
---|
922 | {"lfetch.fault.nta", M0, OpMXX6aHint (6, 0, 0, 0x2e, 3), {MR3}, EMPTY},
|
---|
923 | {"lfetch.fault.excl", M0, OpMXX6aHint (6, 0, 0, 0x2f, 0), {MR3}, EMPTY},
|
---|
924 | {"lfetch.fault.excl.nt1", M0, OpMXX6aHint (6, 0, 0, 0x2f, 1), {MR3}, EMPTY},
|
---|
925 | {"lfetch.fault.excl.nt2", M0, OpMXX6aHint (6, 0, 0, 0x2f, 2), {MR3}, EMPTY},
|
---|
926 | {"lfetch.fault.excl.nta", M0, OpMXX6aHint (6, 0, 0, 0x2f, 3), {MR3}, EMPTY},
|
---|
927 |
|
---|
928 | /* Line prefetch w/increment by register. */
|
---|
929 | #define LFETCHINCREG(c,h) M0, OpMXX6aHint (6, 1, 0, c, h), {MR3, R2}, POSTINC, 0, NULL
|
---|
930 | {"lfetch", LFETCHINCREG (0x2c, 0)},
|
---|
931 | {"lfetch.nt1", LFETCHINCREG (0x2c, 1)},
|
---|
932 | {"lfetch.nt2", LFETCHINCREG (0x2c, 2)},
|
---|
933 | {"lfetch.nta", LFETCHINCREG (0x2c, 3)},
|
---|
934 | {"lfetch.excl", LFETCHINCREG (0x2d, 0)},
|
---|
935 | {"lfetch.excl.nt1", LFETCHINCREG (0x2d, 1)},
|
---|
936 | {"lfetch.excl.nt2", LFETCHINCREG (0x2d, 2)},
|
---|
937 | {"lfetch.excl.nta", LFETCHINCREG (0x2d, 3)},
|
---|
938 | {"lfetch.fault", LFETCHINCREG (0x2e, 0)},
|
---|
939 | {"lfetch.fault.nt1", LFETCHINCREG (0x2e, 1)},
|
---|
940 | {"lfetch.fault.nt2", LFETCHINCREG (0x2e, 2)},
|
---|
941 | {"lfetch.fault.nta", LFETCHINCREG (0x2e, 3)},
|
---|
942 | {"lfetch.fault.excl", LFETCHINCREG (0x2f, 0)},
|
---|
943 | {"lfetch.fault.excl.nt1", LFETCHINCREG (0x2f, 1)},
|
---|
944 | {"lfetch.fault.excl.nt2", LFETCHINCREG (0x2f, 2)},
|
---|
945 | {"lfetch.fault.excl.nta", LFETCHINCREG (0x2f, 3)},
|
---|
946 | #undef LFETCHINCREG
|
---|
947 |
|
---|
948 | /* Semaphore operations. */
|
---|
949 | {"setf.sig", M, OpMXX6a (6, 0, 1, 0x1c), {F1, R2}, EMPTY},
|
---|
950 | {"setf.exp", M, OpMXX6a (6, 0, 1, 0x1d), {F1, R2}, EMPTY},
|
---|
951 | {"setf.s", M, OpMXX6a (6, 0, 1, 0x1e), {F1, R2}, EMPTY},
|
---|
952 | {"setf.d", M, OpMXX6a (6, 0, 1, 0x1f), {F1, R2}, EMPTY},
|
---|
953 |
|
---|
954 | /* Floating-point load w/increment by immediate. */
|
---|
955 | #define FLDINCIMMED(c,h) M, OpX6aHint (7, c, h), {F1, MR3, IMM9b}, POSTINC, 0, NULL
|
---|
956 | {"ldfs", FLDINCIMMED (0x02, 0)},
|
---|
957 | {"ldfs.nt1", FLDINCIMMED (0x02, 1)},
|
---|
958 | {"ldfs.nta", FLDINCIMMED (0x02, 3)},
|
---|
959 | {"ldfd", FLDINCIMMED (0x03, 0)},
|
---|
960 | {"ldfd.nt1", FLDINCIMMED (0x03, 1)},
|
---|
961 | {"ldfd.nta", FLDINCIMMED (0x03, 3)},
|
---|
962 | {"ldf8", FLDINCIMMED (0x01, 0)},
|
---|
963 | {"ldf8.nt1", FLDINCIMMED (0x01, 1)},
|
---|
964 | {"ldf8.nta", FLDINCIMMED (0x01, 3)},
|
---|
965 | {"ldfe", FLDINCIMMED (0x00, 0)},
|
---|
966 | {"ldfe.nt1", FLDINCIMMED (0x00, 1)},
|
---|
967 | {"ldfe.nta", FLDINCIMMED (0x00, 3)},
|
---|
968 | {"ldfs.s", FLDINCIMMED (0x06, 0)},
|
---|
969 | {"ldfs.s.nt1", FLDINCIMMED (0x06, 1)},
|
---|
970 | {"ldfs.s.nta", FLDINCIMMED (0x06, 3)},
|
---|
971 | {"ldfd.s", FLDINCIMMED (0x07, 0)},
|
---|
972 | {"ldfd.s.nt1", FLDINCIMMED (0x07, 1)},
|
---|
973 | {"ldfd.s.nta", FLDINCIMMED (0x07, 3)},
|
---|
974 | {"ldf8.s", FLDINCIMMED (0x05, 0)},
|
---|
975 | {"ldf8.s.nt1", FLDINCIMMED (0x05, 1)},
|
---|
976 | {"ldf8.s.nta", FLDINCIMMED (0x05, 3)},
|
---|
977 | {"ldfe.s", FLDINCIMMED (0x04, 0)},
|
---|
978 | {"ldfe.s.nt1", FLDINCIMMED (0x04, 1)},
|
---|
979 | {"ldfe.s.nta", FLDINCIMMED (0x04, 3)},
|
---|
980 | {"ldfs.a", FLDINCIMMED (0x0a, 0)},
|
---|
981 | {"ldfs.a.nt1", FLDINCIMMED (0x0a, 1)},
|
---|
982 | {"ldfs.a.nta", FLDINCIMMED (0x0a, 3)},
|
---|
983 | {"ldfd.a", FLDINCIMMED (0x0b, 0)},
|
---|
984 | {"ldfd.a.nt1", FLDINCIMMED (0x0b, 1)},
|
---|
985 | {"ldfd.a.nta", FLDINCIMMED (0x0b, 3)},
|
---|
986 | {"ldf8.a", FLDINCIMMED (0x09, 0)},
|
---|
987 | {"ldf8.a.nt1", FLDINCIMMED (0x09, 1)},
|
---|
988 | {"ldf8.a.nta", FLDINCIMMED (0x09, 3)},
|
---|
989 | {"ldfe.a", FLDINCIMMED (0x08, 0)},
|
---|
990 | {"ldfe.a.nt1", FLDINCIMMED (0x08, 1)},
|
---|
991 | {"ldfe.a.nta", FLDINCIMMED (0x08, 3)},
|
---|
992 | {"ldfs.sa", FLDINCIMMED (0x0e, 0)},
|
---|
993 | {"ldfs.sa.nt1", FLDINCIMMED (0x0e, 1)},
|
---|
994 | {"ldfs.sa.nta", FLDINCIMMED (0x0e, 3)},
|
---|
995 | {"ldfd.sa", FLDINCIMMED (0x0f, 0)},
|
---|
996 | {"ldfd.sa.nt1", FLDINCIMMED (0x0f, 1)},
|
---|
997 | {"ldfd.sa.nta", FLDINCIMMED (0x0f, 3)},
|
---|
998 | {"ldf8.sa", FLDINCIMMED (0x0d, 0)},
|
---|
999 | {"ldf8.sa.nt1", FLDINCIMMED (0x0d, 1)},
|
---|
1000 | {"ldf8.sa.nta", FLDINCIMMED (0x0d, 3)},
|
---|
1001 | {"ldfe.sa", FLDINCIMMED (0x0c, 0)},
|
---|
1002 | {"ldfe.sa.nt1", FLDINCIMMED (0x0c, 1)},
|
---|
1003 | {"ldfe.sa.nta", FLDINCIMMED (0x0c, 3)},
|
---|
1004 | {"ldf.fill", FLDINCIMMED (0x1b, 0)},
|
---|
1005 | {"ldf.fill.nt1", FLDINCIMMED (0x1b, 1)},
|
---|
1006 | {"ldf.fill.nta", FLDINCIMMED (0x1b, 3)},
|
---|
1007 | {"ldfs.c.clr", FLDINCIMMED (0x22, 0)},
|
---|
1008 | {"ldfs.c.clr.nt1", FLDINCIMMED (0x22, 1)},
|
---|
1009 | {"ldfs.c.clr.nta", FLDINCIMMED (0x22, 3)},
|
---|
1010 | {"ldfd.c.clr", FLDINCIMMED (0x23, 0)},
|
---|
1011 | {"ldfd.c.clr.nt1", FLDINCIMMED (0x23, 1)},
|
---|
1012 | {"ldfd.c.clr.nta", FLDINCIMMED (0x23, 3)},
|
---|
1013 | {"ldf8.c.clr", FLDINCIMMED (0x21, 0)},
|
---|
1014 | {"ldf8.c.clr.nt1", FLDINCIMMED (0x21, 1)},
|
---|
1015 | {"ldf8.c.clr.nta", FLDINCIMMED (0x21, 3)},
|
---|
1016 | {"ldfe.c.clr", FLDINCIMMED (0x20, 0)},
|
---|
1017 | {"ldfe.c.clr.nt1", FLDINCIMMED (0x20, 1)},
|
---|
1018 | {"ldfe.c.clr.nta", FLDINCIMMED (0x20, 3)},
|
---|
1019 | {"ldfs.c.nc", FLDINCIMMED (0x26, 0)},
|
---|
1020 | {"ldfs.c.nc.nt1", FLDINCIMMED (0x26, 1)},
|
---|
1021 | {"ldfs.c.nc.nta", FLDINCIMMED (0x26, 3)},
|
---|
1022 | {"ldfd.c.nc", FLDINCIMMED (0x27, 0)},
|
---|
1023 | {"ldfd.c.nc.nt1", FLDINCIMMED (0x27, 1)},
|
---|
1024 | {"ldfd.c.nc.nta", FLDINCIMMED (0x27, 3)},
|
---|
1025 | {"ldf8.c.nc", FLDINCIMMED (0x25, 0)},
|
---|
1026 | {"ldf8.c.nc.nt1", FLDINCIMMED (0x25, 1)},
|
---|
1027 | {"ldf8.c.nc.nta", FLDINCIMMED (0x25, 3)},
|
---|
1028 | {"ldfe.c.nc", FLDINCIMMED (0x24, 0)},
|
---|
1029 | {"ldfe.c.nc.nt1", FLDINCIMMED (0x24, 1)},
|
---|
1030 | {"ldfe.c.nc.nta", FLDINCIMMED (0x24, 3)},
|
---|
1031 | #undef FLDINCIMMED
|
---|
1032 |
|
---|
1033 | /* Floating-point store w/increment by immediate. */
|
---|
1034 | #define FSTINCIMMED(c,h) M, OpX6aHint (7, c, h), {MR3, F2, IMM9a}, POSTINC, 0, NULL
|
---|
1035 | {"stfs", FSTINCIMMED (0x32, 0)},
|
---|
1036 | {"stfs.nta", FSTINCIMMED (0x32, 3)},
|
---|
1037 | {"stfd", FSTINCIMMED (0x33, 0)},
|
---|
1038 | {"stfd.nta", FSTINCIMMED (0x33, 3)},
|
---|
1039 | {"stf8", FSTINCIMMED (0x31, 0)},
|
---|
1040 | {"stf8.nta", FSTINCIMMED (0x31, 3)},
|
---|
1041 | {"stfe", FSTINCIMMED (0x30, 0)},
|
---|
1042 | {"stfe.nta", FSTINCIMMED (0x30, 3)},
|
---|
1043 | {"stf.spill", FSTINCIMMED (0x3b, 0)},
|
---|
1044 | {"stf.spill.nta", FSTINCIMMED (0x3b, 3)},
|
---|
1045 | #undef FSTINCIMMED
|
---|
1046 |
|
---|
1047 | /* Line prefetch w/increment by immediate. */
|
---|
1048 | #define LFETCHINCIMMED(c,h) M0, OpX6aHint (7, c, h), {MR3, IMM9b}, POSTINC, 0, NULL
|
---|
1049 | {"lfetch", LFETCHINCIMMED (0x2c, 0)},
|
---|
1050 | {"lfetch.nt1", LFETCHINCIMMED (0x2c, 1)},
|
---|
1051 | {"lfetch.nt2", LFETCHINCIMMED (0x2c, 2)},
|
---|
1052 | {"lfetch.nta", LFETCHINCIMMED (0x2c, 3)},
|
---|
1053 | {"lfetch.excl", LFETCHINCIMMED (0x2d, 0)},
|
---|
1054 | {"lfetch.excl.nt1", LFETCHINCIMMED (0x2d, 1)},
|
---|
1055 | {"lfetch.excl.nt2", LFETCHINCIMMED (0x2d, 2)},
|
---|
1056 | {"lfetch.excl.nta", LFETCHINCIMMED (0x2d, 3)},
|
---|
1057 | {"lfetch.fault", LFETCHINCIMMED (0x2e, 0)},
|
---|
1058 | {"lfetch.fault.nt1", LFETCHINCIMMED (0x2e, 1)},
|
---|
1059 | {"lfetch.fault.nt2", LFETCHINCIMMED (0x2e, 2)},
|
---|
1060 | {"lfetch.fault.nta", LFETCHINCIMMED (0x2e, 3)},
|
---|
1061 | {"lfetch.fault.excl", LFETCHINCIMMED (0x2f, 0)},
|
---|
1062 | {"lfetch.fault.excl.nt1", LFETCHINCIMMED (0x2f, 1)},
|
---|
1063 | {"lfetch.fault.excl.nt2", LFETCHINCIMMED (0x2f, 2)},
|
---|
1064 | {"lfetch.fault.excl.nta", LFETCHINCIMMED (0x2f, 3)},
|
---|
1065 | #undef LFETCHINCIMMED
|
---|
1066 |
|
---|
1067 | {NULL, 0, 0, 0, 0, {0}, 0, 0, NULL}
|
---|
1068 | };
|
---|
1069 |
|
---|
1070 | #undef M0
|
---|
1071 | #undef M
|
---|
1072 | #undef M2
|
---|
1073 | #undef bM
|
---|
1074 | #undef bX
|
---|
1075 | #undef bX2
|
---|
1076 | #undef bX3
|
---|
1077 | #undef bX4
|
---|
1078 | #undef bX6a
|
---|
1079 | #undef bX6b
|
---|
1080 | #undef bHint
|
---|
1081 | #undef mM
|
---|
1082 | #undef mX
|
---|
1083 | #undef mX2
|
---|
1084 | #undef mX3
|
---|
1085 | #undef mX4
|
---|
1086 | #undef mX6a
|
---|
1087 | #undef mX6b
|
---|
1088 | #undef mHint
|
---|
1089 | #undef OpX3
|
---|
1090 | #undef OpX3X6b
|
---|
1091 | #undef OpX3X4
|
---|
1092 | #undef OpX3X4X2
|
---|
1093 | #undef OpX6aHint
|
---|
1094 | #undef OpXX6aHint
|
---|
1095 | #undef OpMXX6a
|
---|
1096 | #undef OpMXX6aHint
|
---|
1097 | #undef EMPTY
|
---|