xref: /qemu/target/sparc/insns.decode (revision 40efe733e10cc00e4fb4f9f5790a28e744e63c62)
1# SPDX-License-Identifier: LGPL-2.0-or-later
2#
3# Sparc instruction decode definitions.
4# Copyright (c) 2023 Richard Henderson <rth@twiddle.net>
5
6##
7## Major Opcodes 00 and 01 -- branches, call, and sethi.
8##
9
10&bcc    i a cond cc
11BPcc    00 a:1 cond:4   001 cc:1 0 - i:s19                 &bcc
12Bicc    00 a:1 cond:4   010          i:s22                 &bcc cc=0
13FBPfcc  00 a:1 cond:4   101 cc:2   - i:s19                 &bcc
14FBfcc   00 a:1 cond:4   110          i:s22                 &bcc cc=0
15
16%d16    20:s2 0:14
17BPr     00 a:1 0 cond:3 011 ..     - rs1:5 ..............  i=%d16
18
19NCP     00 -   ----     111 ----------------------         # CBcc
20
21SETHI   00 rd:5         100 i:22
22
23CALL    01 i:s30
24
25##
26## Major Opcode 10 -- integer, floating-point, vis, and system insns.
27##
28
29%dfp_rd     25:5 !function=extract_dfpreg
30%dfp_rs1    14:5 !function=extract_dfpreg
31%dfp_rs2     0:5 !function=extract_dfpreg
32%dfp_rs3     9:5 !function=extract_dfpreg
33
34%qfp_rd     25:5 !function=extract_qfpreg
35%qfp_rs1    14:5 !function=extract_qfpreg
36%qfp_rs2     0:5 !function=extract_qfpreg
37
38&r_r_ri     rd rs1 rs2_or_imm imm:bool
39@n_r_ri     .. ..... ...... rs1:5 imm:1 rs2_or_imm:s13     &r_r_ri rd=0
40@r_r_ri     .. rd:5  ...... rs1:5 imm:1 rs2_or_imm:s13     &r_r_ri
41
42&r_r_ri_cc  rd rs1 rs2_or_imm imm:bool cc:bool
43@r_r_ri_cc  .. rd:5  . cc:1 .... rs1:5 imm:1 rs2_or_imm:s13    &r_r_ri_cc
44@r_r_ri_cc0 .. rd:5  ...... rs1:5 imm:1 rs2_or_imm:s13         &r_r_ri_cc cc=0
45@r_r_ri_cc1 .. rd:5  ...... rs1:5 imm:1 rs2_or_imm:s13         &r_r_ri_cc cc=1
46
47&r_r_r      rd rs1 rs2
48@r_r_r      .. rd:5  ...... rs1:5 . ........ rs2:5         &r_r_r
49@d_r_r      .. ..... ...... rs1:5 . ........ rs2:5         \
50            &r_r_r rd=%dfp_rd
51@r_d_d      .. rd:5  ...... ..... . ........ .....         \
52            &r_r_r rs1=%dfp_rs1 rs2=%dfp_rs2
53@d_r_d      .. ..... ...... rs1:5 . ........ .....         \
54            &r_r_r rd=%dfp_rd rs2=%dfp_rs2
55@d_d_d      .. ..... ...... ..... . ........ .....         \
56            &r_r_r rd=%dfp_rd rs1=%dfp_rs1 rs2=%dfp_rs2
57@q_q_q      .. ..... ...... ..... . ........ .....         \
58            &r_r_r rd=%qfp_rd rs1=%qfp_rs1 rs2=%qfp_rs2
59@q_d_d      .. ..... ...... ..... . ........ .....         \
60            &r_r_r rd=%qfp_rd rs1=%dfp_rs1 rs2=%dfp_rs2
61
62@r_r_r_swap .. rd:5  ...... rs2:5 . ........ rs1:5         &r_r_r
63@d_d_d_swap .. ..... ...... ..... . ........ .....         \
64            &r_r_r rd=%dfp_rd rs1=%dfp_rs2 rs2=%dfp_rs1
65
66&r_r        rd rs
67@r_r1       .. rd:5  ...... rs:5  . ........ .....         &r_r
68@r_r2       .. rd:5  ...... ..... . ........ rs:5          &r_r
69@r_d2       .. rd:5  ...... ..... . ........ .....         &r_r rs=%dfp_rs2
70@r_q2       .. rd:5  ...... ..... . ........ .....         &r_r rs=%qfp_rs2
71@d_r2       .. ..... ...... ..... . ........ rs:5          &r_r rd=%dfp_rd
72@q_r2       .. ..... ...... ..... . ........ rs:5          &r_r rd=%qfp_rd
73@d_d1       .. ..... ...... ..... . ........ .....         \
74            &r_r rd=%dfp_rd rs=%dfp_rs1
75@d_d2       .. ..... ...... ..... . ........ .....         \
76            &r_r rd=%dfp_rd rs=%dfp_rs2
77@d_q2       .. ..... ...... ..... . ........ .....         \
78            &r_r rd=%dfp_rd rs=%qfp_rs2
79@q_q2       .. ..... ...... ..... . ........ .....         \
80            &r_r rd=%qfp_rd rs=%qfp_rs2
81@q_d2       .. ..... ...... ..... . ........ .....         \
82            &r_r rd=%qfp_rd rs=%dfp_rs2
83
84&r_r_r_r    rd rs1 rs2 rs3
85@r_r_r_r    .. rd:5  ...... rs1:5 rs3:5 .... rs2:5         &r_r_r_r
86@d_d_d_d    .. ..... ...... ..... ..... .... .....         \
87            &r_r_r_r rd=%dfp_rd rs1=%dfp_rs1 rs2=%dfp_rs2 rs3=%dfp_rs3
88
89{
90  [
91    STBAR           10 00000 101000 01111 0 0000000000000
92    MEMBAR          10 00000 101000 01111 1 000000 cmask:3 mmask:4
93
94    RDCCR           10 rd:5  101000 00010 0 0000000000000
95    RDASI           10 rd:5  101000 00011 0 0000000000000
96    RDTICK          10 rd:5  101000 00100 0 0000000000000
97    RDPC            10 rd:5  101000 00101 0 0000000000000
98    RDFPRS          10 rd:5  101000 00110 0 0000000000000
99    {
100      RDASR17       10 rd:5  101000 10001 0 0000000000000
101      RDPIC         10 rd:5  101000 10001 0 0000000000000
102    }
103    RDGSR           10 rd:5  101000 10011 0 0000000000000
104    RDSOFTINT       10 rd:5  101000 10110 0 0000000000000
105    RDTICK_CMPR     10 rd:5  101000 10111 0 0000000000000
106    RDSTICK         10 rd:5  101000 11000 0 0000000000000
107    RDSTICK_CMPR    10 rd:5  101000 11001 0 0000000000000
108    RDSTRAND_STATUS 10 rd:5  101000 11010 0 0000000000000
109  ]
110  # Before v8, all rs1 accepted; otherwise rs1==0.
111  RDY               10 rd:5  101000 rs1:5 0 0000000000000
112}
113
114{
115  [
116    WRY             10 00000 110000 ..... . .............  @n_r_ri
117    WRCCR           10 00010 110000 ..... . .............  @n_r_ri
118    WRASI           10 00011 110000 ..... . .............  @n_r_ri
119    WRFPRS          10 00110 110000 ..... . .............  @n_r_ri
120    WRPCR           10 10000 110000 01000 0 0000000000000
121    WRPIC           10 10001 110000 01000 0 0000000000000
122    {
123      WRGSR         10 10011 110000 ..... . .............  @n_r_ri
124      WRPOWERDOWN   10 10011 110000 ..... . .............  @n_r_ri
125    }
126    WRSOFTINT_SET   10 10100 110000 ..... . .............  @n_r_ri
127    WRSOFTINT_CLR   10 10101 110000 ..... . .............  @n_r_ri
128    WRSOFTINT       10 10110 110000 ..... . .............  @n_r_ri
129    WRTICK_CMPR     10 10111 110000 ..... . .............  @n_r_ri
130    WRSTICK         10 11000 110000 ..... . .............  @n_r_ri
131    WRSTICK_CMPR    10 11001 110000 ..... . .............  @n_r_ri
132    WRMWAIT         10 11100 110000 ..... . .............  @n_r_ri
133  ]
134  # Before v8, rs1==0 was WRY, and the rest executed as nop.
135  [
136    NOP_v7          10 ----- 110000 ----- 0 00000000 -----
137    NOP_v7          10 ----- 110000 ----- 1 -------- -----
138  ]
139}
140
141{
142  RDPSR             10 rd:5  101001 00000 0 0000000000000
143  RDHPR_hpstate     10 rd:5  101001 00000 0 0000000000000
144}
145RDHPR_htstate       10 rd:5  101001 00001 0 0000000000000
146RDHPR_hintp         10 rd:5  101001 00011 0 0000000000000
147RDHPR_htba          10 rd:5  101001 00101 0 0000000000000
148RDHPR_hver          10 rd:5  101001 00110 0 0000000000000
149RDHPR_hstick_cmpr   10 rd:5  101001 11111 0 0000000000000
150
151{
152  WRPSR             10 00000 110001 ..... . .............  @n_r_ri
153  SAVED             10 00000 110001 00000 0 0000000000000
154}
155RESTORED            10 00001 110001 00000 0 0000000000000
156# UA2005 ALLCLEAN
157# UA2005 OTHERW
158# UA2005 NORMALW
159# UA2005 INVALW
160
161{
162  RDWIM             10 rd:5  101010 00000 0 0000000000000
163  RDPR_tpc          10 rd:5  101010 00000 0 0000000000000
164}
165RDPR_tnpc           10 rd:5  101010 00001 0 0000000000000
166RDPR_tstate         10 rd:5  101010 00010 0 0000000000000
167RDPR_tt             10 rd:5  101010 00011 0 0000000000000
168RDPR_tick           10 rd:5  101010 00100 0 0000000000000
169RDPR_tba            10 rd:5  101010 00101 0 0000000000000
170RDPR_pstate         10 rd:5  101010 00110 0 0000000000000
171RDPR_tl             10 rd:5  101010 00111 0 0000000000000
172RDPR_pil            10 rd:5  101010 01000 0 0000000000000
173RDPR_cwp            10 rd:5  101010 01001 0 0000000000000
174RDPR_cansave        10 rd:5  101010 01010 0 0000000000000
175RDPR_canrestore     10 rd:5  101010 01011 0 0000000000000
176RDPR_cleanwin       10 rd:5  101010 01100 0 0000000000000
177RDPR_otherwin       10 rd:5  101010 01101 0 0000000000000
178RDPR_wstate         10 rd:5  101010 01110 0 0000000000000
179RDPR_gl             10 rd:5  101010 10000 0 0000000000000
180RDPR_strand_status  10 rd:5  101010 11010 0 0000000000000
181RDPR_ver            10 rd:5  101010 11111 0 0000000000000
182
183{
184  WRWIM             10 00000 110010 ..... . .............  @n_r_ri
185  WRPR_tpc          10 00000 110010 ..... . .............  @n_r_ri
186}
187WRPR_tnpc           10 00001 110010 ..... . .............  @n_r_ri
188WRPR_tstate         10 00010 110010 ..... . .............  @n_r_ri
189WRPR_tt             10 00011 110010 ..... . .............  @n_r_ri
190WRPR_tick           10 00100 110010 ..... . .............  @n_r_ri
191WRPR_tba            10 00101 110010 ..... . .............  @n_r_ri
192WRPR_pstate         10 00110 110010 ..... . .............  @n_r_ri
193WRPR_tl             10 00111 110010 ..... . .............  @n_r_ri
194WRPR_pil            10 01000 110010 ..... . .............  @n_r_ri
195WRPR_cwp            10 01001 110010 ..... . .............  @n_r_ri
196WRPR_cansave        10 01010 110010 ..... . .............  @n_r_ri
197WRPR_canrestore     10 01011 110010 ..... . .............  @n_r_ri
198WRPR_cleanwin       10 01100 110010 ..... . .............  @n_r_ri
199WRPR_otherwin       10 01101 110010 ..... . .............  @n_r_ri
200WRPR_wstate         10 01110 110010 ..... . .............  @n_r_ri
201WRPR_gl             10 10000 110010 ..... . .............  @n_r_ri
202WRPR_strand_status  10 11010 110010 ..... . .............  @n_r_ri
203
204{
205  FLUSHW    10 00000 101011 00000 0 0000000000000
206  RDTBR     10 rd:5  101011 00000 0 0000000000000
207}
208
209{
210  WRTBR             10 00000 110011 ..... . .............  @n_r_ri
211  WRHPR_hpstate     10 00000 110011 ..... . .............  @n_r_ri
212}
213WRHPR_htstate       10 00001 110011 ..... . .............  @n_r_ri
214WRHPR_hintp         10 00011 110011 ..... . .............  @n_r_ri
215WRHPR_htba          10 00101 110011 ..... . .............  @n_r_ri
216WRHPR_hstick_cmpr   10 11111 110011 ..... . .............  @n_r_ri
217
218ADD         10 ..... 0.0000 ..... . .............          @r_r_ri_cc
219AND         10 ..... 0.0001 ..... . .............          @r_r_ri_cc
220OR          10 ..... 0.0010 ..... . .............          @r_r_ri_cc
221XOR         10 ..... 0.0011 ..... . .............          @r_r_ri_cc
222SUB         10 ..... 0.0100 ..... . .............          @r_r_ri_cc
223ANDN        10 ..... 0.0101 ..... . .............          @r_r_ri_cc
224ORN         10 ..... 0.0110 ..... . .............          @r_r_ri_cc
225XORN        10 ..... 0.0111 ..... . .............          @r_r_ri_cc
226ADDC        10 ..... 0.1000 ..... . .............          @r_r_ri_cc
227SUBC        10 ..... 0.1100 ..... . .............          @r_r_ri_cc
228
229MULX        10 ..... 001001 ..... . .............          @r_r_ri_cc0
230UMUL        10 ..... 0.1010 ..... . .............          @r_r_ri_cc
231SMUL        10 ..... 0.1011 ..... . .............          @r_r_ri_cc
232MULScc      10 ..... 100100 ..... . .............          @r_r_ri_cc1
233
234UDIVX       10 ..... 001101 ..... . .............          @r_r_ri
235SDIVX       10 ..... 101101 ..... . .............          @r_r_ri
236UDIV        10 ..... 001110 ..... . .............          @r_r_ri
237UDIVcc      10 ..... 011110 ..... . .............          @r_r_ri_cc1
238SDIV        10 ..... 0.1111 ..... . .............          @r_r_ri_cc
239
240TADDcc      10 ..... 100000 ..... . .............          @r_r_ri_cc1
241TSUBcc      10 ..... 100001 ..... . .............          @r_r_ri_cc1
242TADDccTV    10 ..... 100010 ..... . .............          @r_r_ri_cc1
243TSUBccTV    10 ..... 100011 ..... . .............          @r_r_ri_cc1
244
245POPC        10 rd:5  101110 00000 imm:1 rs2_or_imm:s13     \
246            &r_r_ri_cc rs1=0 cc=0
247
248&shiftr     rd rs1 rs2 x:bool
249@shiftr     .. rd:5  ...... rs1:5 . x:1 ....... rs2:5      &shiftr
250
251SLL_r       10 ..... 100101 ..... 0 .   0000000 .....      @shiftr
252SRL_r       10 ..... 100110 ..... 0 .   0000000 .....      @shiftr
253SRA_r       10 ..... 100111 ..... 0 .   0000000 .....      @shiftr
254
255&shifti     rd rs1 i x:bool
256@shifti     .. rd:5  ...... rs1:5 . x:1 ...... i:6         &shifti
257
258SLL_i       10 ..... 100101 ..... 1 .   000000 ......      @shifti
259SRL_i       10 ..... 100110 ..... 1 .   000000 ......      @shifti
260SRA_i       10 ..... 100111 ..... 1 .   000000 ......      @shifti
261
262Tcc_r       10 0 cond:4 111010 rs1:5 0 cc:1 0000000 rs2:5
263{
264  # For v7, the entire simm13 field is present, but masked to 7 bits.
265  # For v8, [12:7] are reserved.  However, a compatibility note for
266  # the Tcc insn in the v9 manual suggests that the v8 reserved field
267  # was ignored and did not produce traps.
268  Tcc_i_v7  10 0 cond:4 111010 rs1:5 1 ------ i:7
269
270  # For v9, bits [12:11] are cc1 and cc0 (and cc0 must be 0).
271  # Bits [10:8] are reserved and the OSA2011 manual says they must be 0.
272  Tcc_i_v9  10 0 cond:4 111010 rs1:5 1 cc:1 0 000 i:8
273}
274
275MOVcc       10 rd:5  101100 1 cond:4 imm:1 cc:1 0 rs2_or_imm:s11
276MOVfcc      10 rd:5  101100 0 cond:4 imm:1 cc:2   rs2_or_imm:s11
277MOVR        10 rd:5  101111 rs1:5    imm:1 cond:3 rs2_or_imm:s10
278
279JMPL        10 ..... 111000 ..... . .............          @r_r_ri
280{
281  RETT      10 00000 111001 ..... . .............          @n_r_ri
282  RETURN    10 00000 111001 ..... . .............          @n_r_ri
283}
284NOP         10 00000 111011 ----- 0 00000000-----          # FLUSH reg+reg
285NOP         10 00000 111011 ----- 1 -------------          # FLUSH reg+imm
286SAVE        10 ..... 111100 ..... . .............          @r_r_ri
287RESTORE     10 ..... 111101 ..... . .............          @r_r_ri
288
289DONE        10 00000 111110 00000 0 0000000000000
290RETRY       10 00001 111110 00000 0 0000000000000
291
292FMOVs       10 ..... 110100 00000 0 0000 0001 .....        @r_r2
293FMOVd       10 ..... 110100 00000 0 0000 0010 .....        @d_d2
294FMOVq       10 ..... 110100 00000 0 0000 0011 .....        @q_q2
295FNEGs       10 ..... 110100 00000 0 0000 0101 .....        @r_r2
296FNEGd       10 ..... 110100 00000 0 0000 0110 .....        @d_d2
297FNEGq       10 ..... 110100 00000 0 0000 0111 .....        @q_q2
298FABSs       10 ..... 110100 00000 0 0000 1001 .....        @r_r2
299FABSd       10 ..... 110100 00000 0 0000 1010 .....        @d_d2
300FABSq       10 ..... 110100 00000 0 0000 1011 .....        @q_q2
301FSQRTs      10 ..... 110100 00000 0 0010 1001 .....        @r_r2
302FSQRTd      10 ..... 110100 00000 0 0010 1010 .....        @d_d2
303FSQRTq      10 ..... 110100 00000 0 0010 1011 .....        @q_q2
304FADDs       10 ..... 110100 ..... 0 0100 0001 .....        @r_r_r
305FADDd       10 ..... 110100 ..... 0 0100 0010 .....        @d_d_d
306FADDq       10 ..... 110100 ..... 0 0100 0011 .....        @q_q_q
307FSUBs       10 ..... 110100 ..... 0 0100 0101 .....        @r_r_r
308FSUBd       10 ..... 110100 ..... 0 0100 0110 .....        @d_d_d
309FSUBq       10 ..... 110100 ..... 0 0100 0111 .....        @q_q_q
310FMULs       10 ..... 110100 ..... 0 0100 1001 .....        @r_r_r
311FMULd       10 ..... 110100 ..... 0 0100 1010 .....        @d_d_d
312FMULq       10 ..... 110100 ..... 0 0100 1011 .....        @q_q_q
313FDIVs       10 ..... 110100 ..... 0 0100 1101 .....        @r_r_r
314FDIVd       10 ..... 110100 ..... 0 0100 1110 .....        @d_d_d
315FDIVq       10 ..... 110100 ..... 0 0100 1111 .....        @q_q_q
316FNADDs      10 ..... 110100 ..... 0 0101 0001 .....        @r_r_r
317FNADDd      10 ..... 110100 ..... 0 0101 0010 .....        @d_d_d
318FNMULs      10 ..... 110100 ..... 0 0101 1001 .....        @r_r_r
319FNMULd      10 ..... 110100 ..... 0 0101 1010 .....        @d_d_d
320FHADDs      10 ..... 110100 ..... 0 0110 0001 .....        @r_r_r
321FHADDd      10 ..... 110100 ..... 0 0110 0010 .....        @d_d_d
322FHSUBs      10 ..... 110100 ..... 0 0110 0101 .....        @r_r_r
323FHSUBd      10 ..... 110100 ..... 0 0110 0110 .....        @d_d_d
324FsMULd      10 ..... 110100 ..... 0 0110 1001 .....        @d_r_r
325FdMULq      10 ..... 110100 ..... 0 0110 1110 .....        @q_d_d
326FNHADDs     10 ..... 110100 ..... 0 0111 0001 .....        @r_r_r
327FNHADDd     10 ..... 110100 ..... 0 0111 0010 .....        @d_d_d
328FNsMULd     10 ..... 110100 ..... 0 0111 1001 .....        @d_r_r
329FsTOx       10 ..... 110100 00000 0 1000 0001 .....        @d_r2
330FdTOx       10 ..... 110100 00000 0 1000 0010 .....        @d_d2
331FqTOx       10 ..... 110100 00000 0 1000 0011 .....        @d_q2
332FxTOs       10 ..... 110100 00000 0 1000 0100 .....        @r_d2
333FxTOd       10 ..... 110100 00000 0 1000 1000 .....        @d_d2
334FxTOq       10 ..... 110100 00000 0 1000 1100 .....        @q_d2
335FiTOs       10 ..... 110100 00000 0 1100 0100 .....        @r_r2
336FdTOs       10 ..... 110100 00000 0 1100 0110 .....        @r_d2
337FqTOs       10 ..... 110100 00000 0 1100 0111 .....        @r_q2
338FiTOd       10 ..... 110100 00000 0 1100 1000 .....        @d_r2
339FsTOd       10 ..... 110100 00000 0 1100 1001 .....        @d_r2
340FqTOd       10 ..... 110100 00000 0 1100 1011 .....        @d_q2
341FiTOq       10 ..... 110100 00000 0 1100 1100 .....        @q_r2
342FsTOq       10 ..... 110100 00000 0 1100 1101 .....        @q_r2
343FdTOq       10 ..... 110100 00000 0 1100 1110 .....        @q_d2
344FsTOi       10 ..... 110100 00000 0 1101 0001 .....        @r_r2
345FdTOi       10 ..... 110100 00000 0 1101 0010 .....        @r_d2
346FqTOi       10 ..... 110100 00000 0 1101 0011 .....        @r_q2
347
348FMOVscc     10 rd:5  110101 0 cond:4 1 cc:1 0 000001 rs2:5
349FMOVdcc     10 ..... 110101 0 cond:4 1 cc:1 0 000010 ..... \
350            rd=%dfp_rd rs2=%dfp_rs2
351FMOVqcc     10 ..... 110101 0 cond:4 1 cc:1 0 000011 ..... \
352            rd=%qfp_rd rs2=%qfp_rs2
353
354FMOVsfcc    10 rd:5  110101 0 cond:4 0 cc:2   000001 rs2:5
355FMOVdfcc    10 ..... 110101 0 cond:4 0 cc:2   000010 ..... \
356            rd=%dfp_rd rs2=%dfp_rs2
357FMOVqfcc    10 ..... 110101 0 cond:4 0 cc:2   000011 ..... \
358            rd=%qfp_rd rs2=%qfp_rs2
359
360FMOVRs      10 rd:5  110101 rs1:5    0 cond:3  00101 rs2:5
361FMOVRd      10 ..... 110101 rs1:5    0 cond:3  00110 ..... \
362            rd=%dfp_rd rs2=%dfp_rs2
363FMOVRq      10 ..... 110101 rs1:5    0 cond:3  00111 ..... \
364            rd=%qfp_rd rs2=%qfp_rs2
365
366FCMPs       10 000 cc:2 110101 rs1:5  0 0101 0001 rs2:5
367FCMPd       10 000 cc:2 110101 .....  0 0101 0010 .....    \
368            rs1=%dfp_rs1 rs2=%dfp_rs2
369FCMPq       10 000 cc:2 110101 .....  0 0101 0011 .....    \
370            rs1=%qfp_rs1 rs2=%qfp_rs2
371FCMPEs      10 000 cc:2 110101 rs1:5  0 0101 0101 rs2:5
372FCMPEd      10 000 cc:2 110101 .....  0 0101 0110 .....    \
373            rs1=%dfp_rs1 rs2=%dfp_rs2
374FCMPEq      10 000 cc:2 110101 .....  0 0101 0111 .....    \
375            rs1=%qfp_rs1 rs2=%qfp_rs2
376
377{
378  [
379    EDGE8cc     10 ..... 110110 ..... 0 0000 0000 .....    @r_r_r
380    EDGE8N      10 ..... 110110 ..... 0 0000 0001 .....    @r_r_r
381    EDGE8Lcc    10 ..... 110110 ..... 0 0000 0010 .....    @r_r_r
382    EDGE8LN     10 ..... 110110 ..... 0 0000 0011 .....    @r_r_r
383    EDGE16cc    10 ..... 110110 ..... 0 0000 0100 .....    @r_r_r
384    EDGE16N     10 ..... 110110 ..... 0 0000 0101 .....    @r_r_r
385    EDGE16Lcc   10 ..... 110110 ..... 0 0000 0110 .....    @r_r_r
386    EDGE16LN    10 ..... 110110 ..... 0 0000 0111 .....    @r_r_r
387    EDGE32cc    10 ..... 110110 ..... 0 0000 1000 .....    @r_r_r
388    EDGE32N     10 ..... 110110 ..... 0 0000 1001 .....    @r_r_r
389    EDGE32Lcc   10 ..... 110110 ..... 0 0000 1010 .....    @r_r_r
390    EDGE32LN    10 ..... 110110 ..... 0 0000 1011 .....    @r_r_r
391
392    ARRAY8      10 ..... 110110 ..... 0 0001 0000 .....    @r_r_r
393    ARRAY16     10 ..... 110110 ..... 0 0001 0010 .....    @r_r_r
394    ARRAY32     10 ..... 110110 ..... 0 0001 0100 .....    @r_r_r
395
396    ADDXC       10 ..... 110110 ..... 0 0001 0001 .....    @r_r_r
397    ADDXCcc     10 ..... 110110 ..... 0 0001 0011 .....    @r_r_r
398    UMULXHI     10 ..... 110110 ..... 0 0001 0110 .....    @r_r_r
399    LZCNT       10 ..... 110110 00000 0 0001 0111 .....    @r_r2
400    XMULX       10 ..... 110110 ..... 1 0001 0101 .....    @r_r_r
401    XMULXHI     10 ..... 110110 ..... 1 0001 0110 .....    @r_r_r
402
403    ALIGNADDR   10 ..... 110110 ..... 0 0001 1000 .....    @r_r_r
404    ALIGNADDRL  10 ..... 110110 ..... 0 0001 1010 .....    @r_r_r
405
406    BMASK       10 ..... 110110 ..... 0 0001 1001 .....    @r_r_r
407
408    CMASK8      10 00000 110110 00000 0 0001 1011 rs2:5
409    CMASK16     10 00000 110110 00000 0 0001 1101 rs2:5
410    CMASK32     10 00000 110110 00000 0 0001 1111 rs2:5
411
412    FPCMPLE16   10 ..... 110110 ..... 0 0010 0000 .....    @r_d_d
413    FPCMPNE16   10 ..... 110110 ..... 0 0010 0010 .....    @r_d_d
414    FPCMPGT16   10 ..... 110110 ..... 0 0010 1000 .....    @r_d_d
415    FPCMPEQ16   10 ..... 110110 ..... 0 0010 1010 .....    @r_d_d
416    FPCMPLE32   10 ..... 110110 ..... 0 0010 0100 .....    @r_d_d
417    FPCMPNE32   10 ..... 110110 ..... 0 0010 0110 .....    @r_d_d
418    FPCMPGT32   10 ..... 110110 ..... 0 0010 1100 .....    @r_d_d
419    FPCMPEQ32   10 ..... 110110 ..... 0 0010 1110 .....    @r_d_d
420
421    FSLL16      10 ..... 110110 ..... 0 0010 0001 .....    @d_d_d
422    FSRL16      10 ..... 110110 ..... 0 0010 0011 .....    @d_d_d
423    FSLAS16     10 ..... 110110 ..... 0 0010 1001 .....    @d_d_d
424    FSRA16      10 ..... 110110 ..... 0 0010 1011 .....    @d_d_d
425    FSLL32      10 ..... 110110 ..... 0 0010 0101 .....    @d_d_d
426    FSRL32      10 ..... 110110 ..... 0 0010 0111 .....    @d_d_d
427    FSLAS32     10 ..... 110110 ..... 0 0010 1101 .....    @d_d_d
428    FSRA32      10 ..... 110110 ..... 0 0010 1111 .....    @d_d_d
429
430    FPCMPULE8   10 ..... 110110 ..... 1 0010 0000 .....    @r_d_d
431    FPCMPUGT8   10 ..... 110110 ..... 1 0010 1000 .....    @r_d_d
432    FPCMPNE8    10 ..... 110110 ..... 1 0010 0010 .....    @r_d_d
433    FPCMPEQ8    10 ..... 110110 ..... 1 0010 1010 .....    @r_d_d
434    FPCMPLE8    10 ..... 110110 ..... 0 0011 0100 .....    @r_d_d
435    FPCMPGT8    10 ..... 110110 ..... 0 0011 1100 .....    @r_d_d
436    FPCMPULE16  10 ..... 110110 ..... 1 0010 1110 .....    @r_d_d
437    FPCMPUGT16  10 ..... 110110 ..... 1 0010 1011 .....    @r_d_d
438    FPCMPULE32  10 ..... 110110 ..... 1 0010 1111 .....    @r_d_d
439    FPCMPUGT32  10 ..... 110110 ..... 1 0010 1100 .....    @r_d_d
440
441    FMUL8x16    10 ..... 110110 ..... 0 0011 0001 .....    @d_r_d
442    FMUL8x16AU  10 ..... 110110 ..... 0 0011 0011 .....    @d_r_r
443    FMUL8x16AL  10 ..... 110110 ..... 0 0011 0101 .....    @d_r_r
444    FMUL8SUx16  10 ..... 110110 ..... 0 0011 0110 .....    @d_d_d
445    FMUL8ULx16  10 ..... 110110 ..... 0 0011 0111 .....    @d_d_d
446    FMULD8SUx16 10 ..... 110110 ..... 0 0011 1000 .....    @d_r_r
447    FMULD8ULx16 10 ..... 110110 ..... 0 0011 1001 .....    @d_r_r
448    FPACK32     10 ..... 110110 ..... 0 0011 1010 .....    @d_d_d
449    FPACK16     10 ..... 110110 00000 0 0011 1011 .....    @r_d2
450    FPACKFIX    10 ..... 110110 00000 0 0011 1101 .....    @r_d2
451    PDIST       10 ..... 110110 ..... 0 0011 1110 .....    \
452                &r_r_r_r rd=%dfp_rd rs1=%dfp_rd rs2=%dfp_rs1 rs3=%dfp_rs2
453    PDISTN      10 ..... 110110 ..... 0 0011 1111 .....    @r_d_d
454
455    FMEAN16     10 ..... 110110 ..... 0 0100 0000 .....    @d_d_d
456    SUBXC       10 ..... 110110 ..... 0 0100 0001 .....    @r_r_r
457    SUBXCcc     10 ..... 110110 ..... 0 0100 0011 .....    @r_r_r
458    FCHKSM16    10 ..... 110110 ..... 0 0100 0100 .....    @d_d_d
459    FALIGNDATAg 10 ..... 110110 ..... 0 0100 1000 .....    @d_d_d
460    FPMERGE     10 ..... 110110 ..... 0 0100 1011 .....    @d_r_r
461    BSHUFFLE    10 ..... 110110 ..... 0 0100 1100 .....    @d_d_d
462    FEXPAND     10 ..... 110110 00000 0 0100 1101 .....    @d_r2
463    FALIGNDATAi 10 ..... 110110 ..... 0 0100 1001 .....    @d_r_d
464
465    FSRCd       10 ..... 110110 ..... 0 0111 0100 00000    @d_d1  # FSRC1d
466    FSRCs       10 ..... 110110 ..... 0 0111 0101 00000    @r_r1  # FSRC1s
467    FSRCd       10 ..... 110110 00000 0 0111 1000 .....    @d_d2  # FSRC2d
468    FSRCs       10 ..... 110110 00000 0 0111 1001 .....    @r_r2  # FSRC2s
469    FNOTd       10 ..... 110110 ..... 0 0110 1010 00000    @d_d1  # FNOT1d
470    FNOTs       10 ..... 110110 ..... 0 0110 1011 00000    @r_r1  # FNOT1s
471    FNOTd       10 ..... 110110 00000 0 0110 0110 .....    @d_d2  # FNOT2d
472    FNOTs       10 ..... 110110 00000 0 0110 0111 .....    @r_r2  # FNOT2s
473
474    FPADD16     10 ..... 110110 ..... 0 0101 0000 .....    @d_d_d
475    FPADD16s    10 ..... 110110 ..... 0 0101 0001 .....    @r_r_r
476    FPADD32     10 ..... 110110 ..... 0 0101 0010 .....    @d_d_d
477    FPADD32s    10 ..... 110110 ..... 0 0101 0011 .....    @r_r_r
478    FPADD64     10 ..... 110110 ..... 0 0100 0010 .....    @d_d_d
479    FPSUB16     10 ..... 110110 ..... 0 0101 0100 .....    @d_d_d
480    FPSUB16s    10 ..... 110110 ..... 0 0101 0101 .....    @r_r_r
481    FPSUB32     10 ..... 110110 ..... 0 0101 0110 .....    @d_d_d
482    FPSUB32s    10 ..... 110110 ..... 0 0101 0111 .....    @r_r_r
483    FPSUB64     10 ..... 110110 ..... 0 0100 0110 .....    @d_d_d
484
485    FPADDS16    10 ..... 110110 ..... 0 0101 1000 .....    @d_d_d
486    FPADDS16s   10 ..... 110110 ..... 0 0101 1001 .....    @r_r_r
487    FPADDS32    10 ..... 110110 ..... 0 0101 1010 .....    @d_d_d
488    FPADDS32s   10 ..... 110110 ..... 0 0101 1011 .....    @r_r_r
489    FPSUBS16    10 ..... 110110 ..... 0 0101 1100 .....    @d_d_d
490    FPSUBS16s   10 ..... 110110 ..... 0 0101 1101 .....    @r_r_r
491    FPSUBS32    10 ..... 110110 ..... 0 0101 1110 .....    @d_d_d
492    FPSUBS32s   10 ..... 110110 ..... 0 0101 1111 .....    @r_r_r
493
494    FNORd       10 ..... 110110 ..... 0 0110 0010 .....    @d_d_d
495    FNORs       10 ..... 110110 ..... 0 0110 0011 .....    @r_r_r
496    FANDNOTd    10 ..... 110110 ..... 0 0110 0100 .....    @d_d_d   # FANDNOT2d
497    FANDNOTs    10 ..... 110110 ..... 0 0110 0101 .....    @r_r_r   # FANDNOT2s
498    FANDNOTd    10 ..... 110110 ..... 0 0110 1000 .....    @d_d_d_swap # ... 1d
499    FANDNOTs    10 ..... 110110 ..... 0 0110 1001 .....    @r_r_r_swap # ... 1s
500    FXORd       10 ..... 110110 ..... 0 0110 1100 .....    @d_d_d
501    FXORs       10 ..... 110110 ..... 0 0110 1101 .....    @r_r_r
502    FNANDd      10 ..... 110110 ..... 0 0110 1110 .....    @d_d_d
503    FNANDs      10 ..... 110110 ..... 0 0110 1111 .....    @r_r_r
504    FANDd       10 ..... 110110 ..... 0 0111 0000 .....    @d_d_d
505    FANDs       10 ..... 110110 ..... 0 0111 0001 .....    @r_r_r
506    FXNORd      10 ..... 110110 ..... 0 0111 0010 .....    @d_d_d
507    FXNORs      10 ..... 110110 ..... 0 0111 0011 .....    @r_r_r
508    FORNOTd     10 ..... 110110 ..... 0 0111 0110 .....    @d_d_d    # FORNOT2d
509    FORNOTs     10 ..... 110110 ..... 0 0111 0111 .....    @r_r_r    # FORNOT2s
510    FORNOTd     10 ..... 110110 ..... 0 0111 1010 .....    @d_d_d_swap # ... 1d
511    FORNOTs     10 ..... 110110 ..... 0 0111 1011 .....    @r_r_r_swap # ... 1s
512    FORd        10 ..... 110110 ..... 0 0111 1100 .....    @d_d_d
513    FORs        10 ..... 110110 ..... 0 0111 1101 .....    @r_r_r
514
515    FZEROd      10 ..... 110110 00000 0 0110 0000 00000    rd=%dfp_rd
516    FZEROs      10 rd:5  110110 00000 0 0110 0001 00000
517    FONEd       10 ..... 110110 00000 0 0111 1110 00000    rd=%dfp_rd
518    FONEs       10 rd:5  110110 00000 0 0111 1111 00000
519
520    MOVsTOuw    10 ..... 110110 00000 1 0001 0001 .....    @r_r2
521    MOVsTOsw    10 ..... 110110 00000 1 0001 0011 .....    @r_r2
522    MOVwTOs     10 ..... 110110 00000 1 0001 1001 .....    @r_r2
523    MOVdTOx     10 ..... 110110 00000 1 0001 0000 .....    @r_d2
524    MOVxTOd     10 ..... 110110 00000 1 0001 1000 .....    @d_r2
525
526    FPADD8      10 ..... 110110 ..... 1 0010 0100 .....    @d_d_d
527    FPADDS8     10 ..... 110110 ..... 1 0010 0110 .....    @d_d_d
528    FPADDUS8    10 ..... 110110 ..... 1 0010 0111 .....    @d_d_d
529    FPADDUS16   10 ..... 110110 ..... 1 0010 0011 .....    @d_d_d
530    FPSUB8      10 ..... 110110 ..... 1 0101 0100 .....    @d_d_d
531    FPSUBS8     10 ..... 110110 ..... 1 0101 0110 .....    @d_d_d
532    FPSUBUS8    10 ..... 110110 ..... 1 0101 0111 .....    @d_d_d
533    FPSUBUS16   10 ..... 110110 ..... 1 0101 0011 .....    @d_d_d
534
535    FPMIN8      10 ..... 110110 ..... 1 0001 1010 .....    @d_d_d
536    FPMIN16     10 ..... 110110 ..... 1 0001 1011 .....    @d_d_d
537    FPMIN32     10 ..... 110110 ..... 1 0001 1100 .....    @d_d_d
538    FPMINU8     10 ..... 110110 ..... 1 0101 1010 .....    @d_d_d
539    FPMINU16    10 ..... 110110 ..... 1 0101 1011 .....    @d_d_d
540    FPMINU32    10 ..... 110110 ..... 1 0101 1100 .....    @d_d_d
541
542    FPMAX8      10 ..... 110110 ..... 1 0001 1101 .....    @d_d_d
543    FPMAX16     10 ..... 110110 ..... 1 0001 1110 .....    @d_d_d
544    FPMAX32     10 ..... 110110 ..... 1 0001 1111 .....    @d_d_d
545    FPMAXU8     10 ..... 110110 ..... 1 0101 1101 .....    @d_d_d
546    FPMAXU16    10 ..... 110110 ..... 1 0101 1110 .....    @d_d_d
547    FPMAXU32    10 ..... 110110 ..... 1 0101 1111 .....    @d_d_d
548
549    FLCMPs      10 000 cc:2 110110 rs1:5 1 0101 0001 rs2:5
550    FLCMPd      10 000 cc:2 110110 ..... 1 0101 0010 ..... \
551                rs1=%dfp_rs1 rs2=%dfp_rs2
552  ]
553  NCP           10 ----- 110110 ----- --------- -----      # v8 CPop1
554}
555
556{
557  [
558    FMADDs      10 ..... 110111 ..... ..... 0001 .....     @r_r_r_r
559    FMADDd      10 ..... 110111 ..... ..... 0010 .....     @d_d_d_d
560    FMSUBs      10 ..... 110111 ..... ..... 0101 .....     @r_r_r_r
561    FMSUBd      10 ..... 110111 ..... ..... 0110 .....     @d_d_d_d
562    FNMSUBs     10 ..... 110111 ..... ..... 1001 .....     @r_r_r_r
563    FNMSUBd     10 ..... 110111 ..... ..... 1010 .....     @d_d_d_d
564    FNMADDs     10 ..... 110111 ..... ..... 1101 .....     @r_r_r_r
565    FNMADDd     10 ..... 110111 ..... ..... 1110 .....     @d_d_d_d
566
567    FPMADDX     10 ..... 110111 ..... ..... 0000 .....     @d_d_d_d
568    FPMADDXHI   10 ..... 110111 ..... ..... 0100 .....     @d_d_d_d
569  ]
570  NCP           10 ----- 110111 ----- --------- -----      # v8 CPop2
571}
572
573##
574## Major Opcode 11 -- load and store instructions
575##
576
577&r_r_ri_asi rd rs1 rs2_or_imm asi imm:bool
578@r_r_ri_na  .. rd:5  ...... rs1:5 imm:1 rs2_or_imm:s13     &r_r_ri_asi asi=-1
579@d_r_ri_na  .. ..... ...... rs1:5 imm:1 rs2_or_imm:s13     \
580            &r_r_ri_asi rd=%dfp_rd asi=-1
581@q_r_ri_na  .. ..... ...... rs1:5 imm:1 rs2_or_imm:s13     \
582            &r_r_ri_asi rd=%qfp_rd asi=-1
583
584@r_r_r_asi  .. rd:5  ...... rs1:5 0     asi:8 rs2_or_imm:5 &r_r_ri_asi imm=0
585@r_r_i_asi  .. rd:5  ...... rs1:5 1     rs2_or_imm:s13     \
586            &r_r_ri_asi imm=1 asi=-2
587@d_r_r_asi  .. ..... ...... rs1:5 0     asi:8 rs2_or_imm:5 \
588            &r_r_ri_asi rd=%dfp_rd imm=0
589@d_r_i_asi  .. ..... ...... rs1:5 1     rs2_or_imm:s13     \
590            &r_r_ri_asi rd=%dfp_rd imm=1 asi=-2
591@q_r_r_asi  .. ..... ...... rs1:5 0     asi:8 rs2_or_imm:5 \
592            &r_r_ri_asi rd=%qfp_rd imm=0
593@q_r_i_asi  .. ..... ...... rs1:5 1     rs2_or_imm:s13     \
594            &r_r_ri_asi rd=%qfp_rd imm=1 asi=-2
595@casa_imm   .. rd:5  ...... rs1:5 1 00000000 rs2_or_imm:5  \
596            &r_r_ri_asi imm=1 asi=-2
597
598LDUW        11 ..... 000000 ..... . .............          @r_r_ri_na
599LDUB        11 ..... 000001 ..... . .............          @r_r_ri_na
600LDUH        11 ..... 000010 ..... . .............          @r_r_ri_na
601LDD         11 ..... 000011 ..... . .............          @r_r_ri_na
602LDSW        11 ..... 001000 ..... . .............          @r_r_ri_na
603LDSB        11 ..... 001001 ..... . .............          @r_r_ri_na
604LDSH        11 ..... 001010 ..... . .............          @r_r_ri_na
605LDX         11 ..... 001011 ..... . .............          @r_r_ri_na
606
607STW         11 ..... 000100 ..... . .............          @r_r_ri_na
608STB         11 ..... 000101 ..... . .............          @r_r_ri_na
609STH         11 ..... 000110 ..... . .............          @r_r_ri_na
610STD         11 ..... 000111 ..... . .............          @r_r_ri_na
611STX         11 ..... 001110 ..... . .............          @r_r_ri_na
612
613LDUW        11 ..... 010000 ..... . .............          @r_r_r_asi # LDUWA
614LDUW        11 ..... 010000 ..... . .............          @r_r_i_asi # LDUWA
615LDUB        11 ..... 010001 ..... . .............          @r_r_r_asi # LDUBA
616LDUB        11 ..... 010001 ..... . .............          @r_r_i_asi # LDUBA
617LDUH        11 ..... 010010 ..... . .............          @r_r_r_asi # LDUHA
618LDUH        11 ..... 010010 ..... . .............          @r_r_i_asi # LDUHA
619LDD         11 ..... 010011 ..... . .............          @r_r_r_asi # LDDA
620LDD         11 ..... 010011 ..... . .............          @r_r_i_asi # LDDA
621LDX         11 ..... 011011 ..... . .............          @r_r_r_asi # LDXA
622LDX         11 ..... 011011 ..... . .............          @r_r_i_asi # LDXA
623LDSB        11 ..... 011001 ..... . .............          @r_r_r_asi # LDSBA
624LDSB        11 ..... 011001 ..... . .............          @r_r_i_asi # LDSBA
625LDSH        11 ..... 011010 ..... . .............          @r_r_r_asi # LDSHA
626LDSH        11 ..... 011010 ..... . .............          @r_r_i_asi # LDSHA
627LDSW        11 ..... 011000 ..... . .............          @r_r_r_asi # LDSWA
628LDSW        11 ..... 011000 ..... . .............          @r_r_i_asi # LDSWA
629
630STW         11 ..... 010100 ..... . .............          @r_r_r_asi # STWA
631STW         11 ..... 010100 ..... . .............          @r_r_i_asi # STWA
632STB         11 ..... 010101 ..... . .............          @r_r_r_asi # STBA
633STB         11 ..... 010101 ..... . .............          @r_r_i_asi # STBA
634STH         11 ..... 010110 ..... . .............          @r_r_r_asi # STHA
635STH         11 ..... 010110 ..... . .............          @r_r_i_asi # STHA
636STD         11 ..... 010111 ..... . .............          @r_r_r_asi # STDA
637STD         11 ..... 010111 ..... . .............          @r_r_i_asi # STDA
638STX         11 ..... 011110 ..... . .............          @r_r_r_asi # STXA
639STX         11 ..... 011110 ..... . .............          @r_r_i_asi # STXA
640
641LDF         11 ..... 100000 ..... . .............          @r_r_ri_na
642LDFSR       11 00000 100001 ..... . .............          @n_r_ri
643LDXFSR      11 00001 100001 ..... . .............          @n_r_ri
644LDXEFSR     11 00011 100001 ..... . .............          @n_r_ri
645LDQF        11 ..... 100010 ..... . .............          @q_r_ri_na
646LDDF        11 ..... 100011 ..... . .............          @d_r_ri_na
647
648STF         11 ..... 100100 ..... . .............          @r_r_ri_na
649STFSR       11 00000 100101 ..... . .............          @n_r_ri
650STXFSR      11 00001 100101 ..... . .............          @n_r_ri
651{
652  STQF      11 ..... 100110 ..... . .............          @q_r_ri_na # v9
653  STDFQ     11 ..... 100110 ..... . .............          @r_r_ri    # v7,v8
654}
655STDF        11 ..... 100111 ..... . .............          @d_r_ri_na
656
657LDSTUB      11 ..... 001101 ..... . .............          @r_r_ri_na
658LDSTUB      11 ..... 011101 ..... . .............          @r_r_r_asi # LDSTUBA
659LDSTUB      11 ..... 011101 ..... . .............          @r_r_i_asi # LDSTUBA
660
661SWAP        11 ..... 001111 ..... . .............          @r_r_ri_na
662SWAP        11 ..... 011111 ..... . .............          @r_r_r_asi # SWAPA
663SWAP        11 ..... 011111 ..... . .............          @r_r_i_asi # SWAPA
664
665CASA        11 ..... 111100 ..... . .............          @r_r_r_asi
666CASA        11 ..... 111100 ..... . .............          @casa_imm
667CASXA       11 ..... 111110 ..... . .............          @r_r_r_asi
668CASXA       11 ..... 111110 ..... . .............          @casa_imm
669
670NOP_v9      11 ----- 101101 ----- 0 00000000 -----         # PREFETCH
671NOP_v9      11 ----- 101101 ----- 1 -------------          # PREFETCH
672NOP_v9      11 ----- 111101 ----- - -------------          # PREFETCHA
673
674{
675  [
676    LDFA    11 ..... 110000 ..... . .............          @r_r_r_asi
677    LDFA    11 ..... 110000 ..... . .............          @r_r_i_asi
678  ]
679  NCP       11 ----- 110000 ----- --------- -----          # v8 LDC
680}
681NCP         11 ----- 110001 ----- --------- -----          # v8 LDCSR
682LDQFA       11 ..... 110010 ..... . .............          @q_r_r_asi
683LDQFA       11 ..... 110010 ..... . .............          @q_r_i_asi
684{
685  [
686    LDDFA   11 ..... 110011 ..... . .............          @d_r_r_asi
687    LDDFA   11 ..... 110011 ..... . .............          @d_r_i_asi
688  ]
689  NCP       11 ----- 110011 ----- --------- -----          # v8 LDDC
690}
691
692{
693  [
694    STFA    11 ..... 110100 ..... . .............          @r_r_r_asi
695    STFA    11 ..... 110100 ..... . .............          @r_r_i_asi
696  ]
697  NCP       11 ----- 110100 ----- --------- -----          # v8 STC
698}
699NCP         11 ----- 110101 ----- --------- -----          # v8 STCSR
700{
701  [
702    STQFA   11 ..... 110110 ..... . .............          @q_r_r_asi
703    STQFA   11 ..... 110110 ..... . .............          @q_r_i_asi
704  ]
705  NCP       11 ----- 110110 ----- --------- -----          # v8 STDCQ
706}
707{
708  [
709    STDFA   11 ..... 110111 ..... . .............          @d_r_r_asi
710    STDFA   11 ..... 110111 ..... . .............          @d_r_i_asi
711  ]
712  NCP       11 ----- 110111 ----- --------- -----          # v8 STDC
713}
714