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