xref: /qemu/target/sparc/insns.decode (revision 40efe733e10cc00e4fb4f9f5790a28e744e63c62)
1b14d0649SPhilippe Mathieu-Daudé# SPDX-License-Identifier: LGPL-2.0-or-later
2878cc677SRichard Henderson#
3878cc677SRichard Henderson# Sparc instruction decode definitions.
4878cc677SRichard Henderson# Copyright (c) 2023 Richard Henderson <rth@twiddle.net>
5878cc677SRichard Henderson
66d2a0768SRichard Henderson##
76d2a0768SRichard Henderson## Major Opcodes 00 and 01 -- branches, call, and sethi.
86d2a0768SRichard Henderson##
96d2a0768SRichard Henderson
10276567aaSRichard Henderson&bcc    i a cond cc
11276567aaSRichard HendersonBPcc    00 a:1 cond:4   001 cc:1 0 - i:s19                 &bcc
12276567aaSRichard HendersonBicc    00 a:1 cond:4   010          i:s22                 &bcc cc=0
1345196ea4SRichard HendersonFBPfcc  00 a:1 cond:4   101 cc:2   - i:s19                 &bcc
1445196ea4SRichard HendersonFBfcc   00 a:1 cond:4   110          i:s22                 &bcc cc=0
15276567aaSRichard Henderson
16ab9ffe98SRichard Henderson%d16    20:s2 0:14
17ab9ffe98SRichard HendersonBPr     00 a:1 0 cond:3 011 ..     - rs1:5 ..............  i=%d16
18ab9ffe98SRichard Henderson
1945196ea4SRichard HendersonNCP     00 -   ----     111 ----------------------         # CBcc
2045196ea4SRichard Henderson
216d2a0768SRichard HendersonSETHI   00 rd:5         100 i:22
226d2a0768SRichard Henderson
2323ada1b1SRichard HendersonCALL    01 i:s30
2430376636SRichard Henderson
250faef01bSRichard Henderson##
260faef01bSRichard Henderson## Major Opcode 10 -- integer, floating-point, vis, and system insns.
270faef01bSRichard Henderson##
280faef01bSRichard Henderson
290bba7572SRichard Henderson%dfp_rd     25:5 !function=extract_dfpreg
300bba7572SRichard Henderson%dfp_rs1    14:5 !function=extract_dfpreg
310bba7572SRichard Henderson%dfp_rs2     0:5 !function=extract_dfpreg
324fd71d19SRichard Henderson%dfp_rs3     9:5 !function=extract_dfpreg
330bba7572SRichard Henderson
340bba7572SRichard Henderson%qfp_rd     25:5 !function=extract_qfpreg
350bba7572SRichard Henderson%qfp_rs1    14:5 !function=extract_qfpreg
360bba7572SRichard Henderson%qfp_rs2     0:5 !function=extract_qfpreg
370bba7572SRichard Henderson
380faef01bSRichard Henderson&r_r_ri     rd rs1 rs2_or_imm imm:bool
390faef01bSRichard Henderson@n_r_ri     .. ..... ...... rs1:5 imm:1 rs2_or_imm:s13     &r_r_ri rd=0
4086b82fe0SRichard Henderson@r_r_ri     .. rd:5  ...... rs1:5 imm:1 rs2_or_imm:s13     &r_r_ri
410faef01bSRichard Henderson
42428881deSRichard Henderson&r_r_ri_cc  rd rs1 rs2_or_imm imm:bool cc:bool
43428881deSRichard Henderson@r_r_ri_cc  .. rd:5  . cc:1 .... rs1:5 imm:1 rs2_or_imm:s13    &r_r_ri_cc
4422188d7dSRichard Henderson@r_r_ri_cc0 .. rd:5  ...... rs1:5 imm:1 rs2_or_imm:s13         &r_r_ri_cc cc=0
45a9aba13dSRichard Henderson@r_r_ri_cc1 .. rd:5  ...... rs1:5 imm:1 rs2_or_imm:s13         &r_r_ri_cc cc=1
46428881deSRichard Henderson
47b88ce6f2SRichard Henderson&r_r_r      rd rs1 rs2
48b88ce6f2SRichard Henderson@r_r_r      .. rd:5  ...... rs1:5 . ........ rs2:5         &r_r_r
490bba7572SRichard Henderson@d_r_r      .. ..... ...... rs1:5 . ........ rs2:5         \
500bba7572SRichard Henderson            &r_r_r rd=%dfp_rd
510bba7572SRichard Henderson@r_d_d      .. rd:5  ...... ..... . ........ .....         \
520bba7572SRichard Henderson            &r_r_r rs1=%dfp_rs1 rs2=%dfp_rs2
530bba7572SRichard Henderson@d_r_d      .. ..... ...... rs1:5 . ........ .....         \
540bba7572SRichard Henderson            &r_r_r rd=%dfp_rd rs2=%dfp_rs2
550bba7572SRichard Henderson@d_d_d      .. ..... ...... ..... . ........ .....         \
560bba7572SRichard Henderson            &r_r_r rd=%dfp_rd rs1=%dfp_rs1 rs2=%dfp_rs2
570bba7572SRichard Henderson@q_q_q      .. ..... ...... ..... . ........ .....         \
580bba7572SRichard Henderson            &r_r_r rd=%qfp_rd rs1=%qfp_rs1 rs2=%qfp_rs2
590bba7572SRichard Henderson@q_d_d      .. ..... ...... ..... . ........ .....         \
600bba7572SRichard Henderson            &r_r_r rd=%qfp_rd rs1=%dfp_rs1 rs2=%dfp_rs2
610bba7572SRichard Henderson
627f10b52fSRichard Henderson@r_r_r_swap .. rd:5  ...... rs2:5 . ........ rs1:5         &r_r_r
630bba7572SRichard Henderson@d_d_d_swap .. ..... ...... ..... . ........ .....         \
640bba7572SRichard Henderson            &r_r_r rd=%dfp_rd rs1=%dfp_rs2 rs2=%dfp_rs1
65b88ce6f2SRichard Henderson
66baf3dbf2SRichard Henderson&r_r        rd rs
67baf3dbf2SRichard Henderson@r_r1       .. rd:5  ...... rs:5  . ........ .....         &r_r
68baf3dbf2SRichard Henderson@r_r2       .. rd:5  ...... ..... . ........ rs:5          &r_r
690bba7572SRichard Henderson@r_d2       .. rd:5  ...... ..... . ........ .....         &r_r rs=%dfp_rs2
700bba7572SRichard Henderson@r_q2       .. rd:5  ...... ..... . ........ .....         &r_r rs=%qfp_rs2
710bba7572SRichard Henderson@d_r2       .. ..... ...... ..... . ........ rs:5          &r_r rd=%dfp_rd
720bba7572SRichard Henderson@q_r2       .. ..... ...... ..... . ........ rs:5          &r_r rd=%qfp_rd
730bba7572SRichard Henderson@d_d1       .. ..... ...... ..... . ........ .....         \
740bba7572SRichard Henderson            &r_r rd=%dfp_rd rs=%dfp_rs1
750bba7572SRichard Henderson@d_d2       .. ..... ...... ..... . ........ .....         \
760bba7572SRichard Henderson            &r_r rd=%dfp_rd rs=%dfp_rs2
770bba7572SRichard Henderson@d_q2       .. ..... ...... ..... . ........ .....         \
780bba7572SRichard Henderson            &r_r rd=%dfp_rd rs=%qfp_rs2
790bba7572SRichard Henderson@q_q2       .. ..... ...... ..... . ........ .....         \
800bba7572SRichard Henderson            &r_r rd=%qfp_rd rs=%qfp_rs2
810bba7572SRichard Henderson@q_d2       .. ..... ...... ..... . ........ .....         \
820bba7572SRichard Henderson            &r_r rd=%qfp_rd rs=%dfp_rs2
83baf3dbf2SRichard Henderson
844fd71d19SRichard Henderson&r_r_r_r    rd rs1 rs2 rs3
854fd71d19SRichard Henderson@r_r_r_r    .. rd:5  ...... rs1:5 rs3:5 .... rs2:5         &r_r_r_r
864fd71d19SRichard Henderson@d_d_d_d    .. ..... ...... ..... ..... .... .....         \
874fd71d19SRichard Henderson            &r_r_r_r rd=%dfp_rd rs1=%dfp_rs1 rs2=%dfp_rs2 rs3=%dfp_rs3
884fd71d19SRichard Henderson
89af25071cSRichard Henderson{
90af25071cSRichard Henderson  [
91af25071cSRichard Henderson    STBAR           10 00000 101000 01111 0 0000000000000
92af25071cSRichard Henderson    MEMBAR          10 00000 101000 01111 1 000000 cmask:3 mmask:4
93af25071cSRichard Henderson
94af25071cSRichard Henderson    RDCCR           10 rd:5  101000 00010 0 0000000000000
95af25071cSRichard Henderson    RDASI           10 rd:5  101000 00011 0 0000000000000
96af25071cSRichard Henderson    RDTICK          10 rd:5  101000 00100 0 0000000000000
97af25071cSRichard Henderson    RDPC            10 rd:5  101000 00101 0 0000000000000
98af25071cSRichard Henderson    RDFPRS          10 rd:5  101000 00110 0 0000000000000
99*172e7644SArtyom Tarasenko    {
100af25071cSRichard Henderson      RDASR17       10 rd:5  101000 10001 0 0000000000000
101*172e7644SArtyom Tarasenko      RDPIC         10 rd:5  101000 10001 0 0000000000000
102*172e7644SArtyom Tarasenko    }
103af25071cSRichard Henderson    RDGSR           10 rd:5  101000 10011 0 0000000000000
104af25071cSRichard Henderson    RDSOFTINT       10 rd:5  101000 10110 0 0000000000000
105af25071cSRichard Henderson    RDTICK_CMPR     10 rd:5  101000 10111 0 0000000000000
106af25071cSRichard Henderson    RDSTICK         10 rd:5  101000 11000 0 0000000000000
107af25071cSRichard Henderson    RDSTICK_CMPR    10 rd:5  101000 11001 0 0000000000000
108af25071cSRichard Henderson    RDSTRAND_STATUS 10 rd:5  101000 11010 0 0000000000000
109af25071cSRichard Henderson  ]
110af25071cSRichard Henderson  # Before v8, all rs1 accepted; otherwise rs1==0.
111af25071cSRichard Henderson  RDY               10 rd:5  101000 rs1:5 0 0000000000000
112af25071cSRichard Henderson}
113af25071cSRichard Henderson
114668bb9b7SRichard Henderson{
1150faef01bSRichard Henderson  [
1160faef01bSRichard Henderson    WRY             10 00000 110000 ..... . .............  @n_r_ri
1170faef01bSRichard Henderson    WRCCR           10 00010 110000 ..... . .............  @n_r_ri
1180faef01bSRichard Henderson    WRASI           10 00011 110000 ..... . .............  @n_r_ri
1190faef01bSRichard Henderson    WRFPRS          10 00110 110000 ..... . .............  @n_r_ri
120*172e7644SArtyom Tarasenko    WRPCR           10 10000 110000 01000 0 0000000000000
121*172e7644SArtyom Tarasenko    WRPIC           10 10001 110000 01000 0 0000000000000
1220faef01bSRichard Henderson    {
1230faef01bSRichard Henderson      WRGSR         10 10011 110000 ..... . .............  @n_r_ri
1240faef01bSRichard Henderson      WRPOWERDOWN   10 10011 110000 ..... . .............  @n_r_ri
1250faef01bSRichard Henderson    }
1260faef01bSRichard Henderson    WRSOFTINT_SET   10 10100 110000 ..... . .............  @n_r_ri
1270faef01bSRichard Henderson    WRSOFTINT_CLR   10 10101 110000 ..... . .............  @n_r_ri
1280faef01bSRichard Henderson    WRSOFTINT       10 10110 110000 ..... . .............  @n_r_ri
1290faef01bSRichard Henderson    WRTICK_CMPR     10 10111 110000 ..... . .............  @n_r_ri
1300faef01bSRichard Henderson    WRSTICK         10 11000 110000 ..... . .............  @n_r_ri
1310faef01bSRichard Henderson    WRSTICK_CMPR    10 11001 110000 ..... . .............  @n_r_ri
1326fbc032cSRichard Henderson    WRMWAIT         10 11100 110000 ..... . .............  @n_r_ri
1330faef01bSRichard Henderson  ]
1340faef01bSRichard Henderson  # Before v8, rs1==0 was WRY, and the rest executed as nop.
1350faef01bSRichard Henderson  [
1360faef01bSRichard Henderson    NOP_v7          10 ----- 110000 ----- 0 00000000 -----
1370faef01bSRichard Henderson    NOP_v7          10 ----- 110000 ----- 1 -------- -----
1380faef01bSRichard Henderson  ]
1390faef01bSRichard Henderson}
1400faef01bSRichard Henderson
1410faef01bSRichard Henderson{
142668bb9b7SRichard Henderson  RDPSR             10 rd:5  101001 00000 0 0000000000000
143668bb9b7SRichard Henderson  RDHPR_hpstate     10 rd:5  101001 00000 0 0000000000000
144668bb9b7SRichard Henderson}
145668bb9b7SRichard HendersonRDHPR_htstate       10 rd:5  101001 00001 0 0000000000000
146668bb9b7SRichard HendersonRDHPR_hintp         10 rd:5  101001 00011 0 0000000000000
147668bb9b7SRichard HendersonRDHPR_htba          10 rd:5  101001 00101 0 0000000000000
148668bb9b7SRichard HendersonRDHPR_hver          10 rd:5  101001 00110 0 0000000000000
149668bb9b7SRichard HendersonRDHPR_hstick_cmpr   10 rd:5  101001 11111 0 0000000000000
150668bb9b7SRichard Henderson
1515d617bfbSRichard Henderson{
15225524734SRichard Henderson  WRPSR             10 00000 110001 ..... . .............  @n_r_ri
15325524734SRichard Henderson  SAVED             10 00000 110001 00000 0 0000000000000
15425524734SRichard Henderson}
15525524734SRichard HendersonRESTORED            10 00001 110001 00000 0 0000000000000
15625524734SRichard Henderson# UA2005 ALLCLEAN
15725524734SRichard Henderson# UA2005 OTHERW
15825524734SRichard Henderson# UA2005 NORMALW
15925524734SRichard Henderson# UA2005 INVALW
16025524734SRichard Henderson
16125524734SRichard Henderson{
1625d617bfbSRichard Henderson  RDWIM             10 rd:5  101010 00000 0 0000000000000
1635d617bfbSRichard Henderson  RDPR_tpc          10 rd:5  101010 00000 0 0000000000000
1645d617bfbSRichard Henderson}
1655d617bfbSRichard HendersonRDPR_tnpc           10 rd:5  101010 00001 0 0000000000000
1665d617bfbSRichard HendersonRDPR_tstate         10 rd:5  101010 00010 0 0000000000000
1675d617bfbSRichard HendersonRDPR_tt             10 rd:5  101010 00011 0 0000000000000
1685d617bfbSRichard HendersonRDPR_tick           10 rd:5  101010 00100 0 0000000000000
1695d617bfbSRichard HendersonRDPR_tba            10 rd:5  101010 00101 0 0000000000000
1705d617bfbSRichard HendersonRDPR_pstate         10 rd:5  101010 00110 0 0000000000000
1715d617bfbSRichard HendersonRDPR_tl             10 rd:5  101010 00111 0 0000000000000
1725d617bfbSRichard HendersonRDPR_pil            10 rd:5  101010 01000 0 0000000000000
1735d617bfbSRichard HendersonRDPR_cwp            10 rd:5  101010 01001 0 0000000000000
1745d617bfbSRichard HendersonRDPR_cansave        10 rd:5  101010 01010 0 0000000000000
1755d617bfbSRichard HendersonRDPR_canrestore     10 rd:5  101010 01011 0 0000000000000
1765d617bfbSRichard HendersonRDPR_cleanwin       10 rd:5  101010 01100 0 0000000000000
1775d617bfbSRichard HendersonRDPR_otherwin       10 rd:5  101010 01101 0 0000000000000
1785d617bfbSRichard HendersonRDPR_wstate         10 rd:5  101010 01110 0 0000000000000
1795d617bfbSRichard HendersonRDPR_gl             10 rd:5  101010 10000 0 0000000000000
1805d617bfbSRichard HendersonRDPR_strand_status  10 rd:5  101010 11010 0 0000000000000
1815d617bfbSRichard HendersonRDPR_ver            10 rd:5  101010 11111 0 0000000000000
1825d617bfbSRichard Henderson
183e8325dc0SRichard Henderson{
1849422278eSRichard Henderson  WRWIM             10 00000 110010 ..... . .............  @n_r_ri
1859422278eSRichard Henderson  WRPR_tpc          10 00000 110010 ..... . .............  @n_r_ri
1869422278eSRichard Henderson}
1879422278eSRichard HendersonWRPR_tnpc           10 00001 110010 ..... . .............  @n_r_ri
1889422278eSRichard HendersonWRPR_tstate         10 00010 110010 ..... . .............  @n_r_ri
1899422278eSRichard HendersonWRPR_tt             10 00011 110010 ..... . .............  @n_r_ri
1909422278eSRichard HendersonWRPR_tick           10 00100 110010 ..... . .............  @n_r_ri
1919422278eSRichard HendersonWRPR_tba            10 00101 110010 ..... . .............  @n_r_ri
1929422278eSRichard HendersonWRPR_pstate         10 00110 110010 ..... . .............  @n_r_ri
1939422278eSRichard HendersonWRPR_tl             10 00111 110010 ..... . .............  @n_r_ri
1949422278eSRichard HendersonWRPR_pil            10 01000 110010 ..... . .............  @n_r_ri
1959422278eSRichard HendersonWRPR_cwp            10 01001 110010 ..... . .............  @n_r_ri
1969422278eSRichard HendersonWRPR_cansave        10 01010 110010 ..... . .............  @n_r_ri
1979422278eSRichard HendersonWRPR_canrestore     10 01011 110010 ..... . .............  @n_r_ri
1989422278eSRichard HendersonWRPR_cleanwin       10 01100 110010 ..... . .............  @n_r_ri
1999422278eSRichard HendersonWRPR_otherwin       10 01101 110010 ..... . .............  @n_r_ri
2009422278eSRichard HendersonWRPR_wstate         10 01110 110010 ..... . .............  @n_r_ri
2019422278eSRichard HendersonWRPR_gl             10 10000 110010 ..... . .............  @n_r_ri
2029422278eSRichard HendersonWRPR_strand_status  10 11010 110010 ..... . .............  @n_r_ri
2039422278eSRichard Henderson
2049422278eSRichard Henderson{
205e8325dc0SRichard Henderson  FLUSHW    10 00000 101011 00000 0 0000000000000
206e8325dc0SRichard Henderson  RDTBR     10 rd:5  101011 00000 0 0000000000000
207e8325dc0SRichard Henderson}
208e8325dc0SRichard Henderson
209bb97f2f5SRichard Henderson{
210bb97f2f5SRichard Henderson  WRTBR             10 00000 110011 ..... . .............  @n_r_ri
211bb97f2f5SRichard Henderson  WRHPR_hpstate     10 00000 110011 ..... . .............  @n_r_ri
212bb97f2f5SRichard Henderson}
213bb97f2f5SRichard HendersonWRHPR_htstate       10 00001 110011 ..... . .............  @n_r_ri
214bb97f2f5SRichard HendersonWRHPR_hintp         10 00011 110011 ..... . .............  @n_r_ri
215bb97f2f5SRichard HendersonWRHPR_htba          10 00101 110011 ..... . .............  @n_r_ri
216bb97f2f5SRichard HendersonWRHPR_hstick_cmpr   10 11111 110011 ..... . .............  @n_r_ri
217bb97f2f5SRichard Henderson
218428881deSRichard HendersonADD         10 ..... 0.0000 ..... . .............          @r_r_ri_cc
219428881deSRichard HendersonAND         10 ..... 0.0001 ..... . .............          @r_r_ri_cc
220428881deSRichard HendersonOR          10 ..... 0.0010 ..... . .............          @r_r_ri_cc
221428881deSRichard HendersonXOR         10 ..... 0.0011 ..... . .............          @r_r_ri_cc
222428881deSRichard HendersonSUB         10 ..... 0.0100 ..... . .............          @r_r_ri_cc
223428881deSRichard HendersonANDN        10 ..... 0.0101 ..... . .............          @r_r_ri_cc
224428881deSRichard HendersonORN         10 ..... 0.0110 ..... . .............          @r_r_ri_cc
225428881deSRichard HendersonXORN        10 ..... 0.0111 ..... . .............          @r_r_ri_cc
226420a187dSRichard HendersonADDC        10 ..... 0.1000 ..... . .............          @r_r_ri_cc
227dfebb950SRichard HendersonSUBC        10 ..... 0.1100 ..... . .............          @r_r_ri_cc
228428881deSRichard Henderson
22922188d7dSRichard HendersonMULX        10 ..... 001001 ..... . .............          @r_r_ri_cc0
230b5372650SRichard HendersonUMUL        10 ..... 0.1010 ..... . .............          @r_r_ri_cc
231b5372650SRichard HendersonSMUL        10 ..... 0.1011 ..... . .............          @r_r_ri_cc
232a9aba13dSRichard HendersonMULScc      10 ..... 100100 ..... . .............          @r_r_ri_cc1
23322188d7dSRichard Henderson
234f3141174SRichard HendersonUDIVX       10 ..... 001101 ..... . .............          @r_r_ri
235f3141174SRichard HendersonSDIVX       10 ..... 101101 ..... . .............          @r_r_ri
2363a6b8de3SRichard HendersonUDIV        10 ..... 001110 ..... . .............          @r_r_ri
2373a6b8de3SRichard HendersonUDIVcc      10 ..... 011110 ..... . .............          @r_r_ri_cc1
238c2636853SRichard HendersonSDIV        10 ..... 0.1111 ..... . .............          @r_r_ri_cc
2394ee85ea9SRichard Henderson
240a9aba13dSRichard HendersonTADDcc      10 ..... 100000 ..... . .............          @r_r_ri_cc1
241a9aba13dSRichard HendersonTSUBcc      10 ..... 100001 ..... . .............          @r_r_ri_cc1
242a9aba13dSRichard HendersonTADDccTV    10 ..... 100010 ..... . .............          @r_r_ri_cc1
243a9aba13dSRichard HendersonTSUBccTV    10 ..... 100011 ..... . .............          @r_r_ri_cc1
244a9aba13dSRichard Henderson
2459c6ec5bcSRichard HendersonPOPC        10 rd:5  101110 00000 imm:1 rs2_or_imm:s13     \
2469c6ec5bcSRichard Henderson            &r_r_ri_cc rs1=0 cc=0
2479c6ec5bcSRichard Henderson
2485fc546eeSRichard Henderson&shiftr     rd rs1 rs2 x:bool
2495fc546eeSRichard Henderson@shiftr     .. rd:5  ...... rs1:5 . x:1 ....... rs2:5      &shiftr
2505fc546eeSRichard Henderson
2515fc546eeSRichard HendersonSLL_r       10 ..... 100101 ..... 0 .   0000000 .....      @shiftr
2525fc546eeSRichard HendersonSRL_r       10 ..... 100110 ..... 0 .   0000000 .....      @shiftr
2535fc546eeSRichard HendersonSRA_r       10 ..... 100111 ..... 0 .   0000000 .....      @shiftr
2545fc546eeSRichard Henderson
2555fc546eeSRichard Henderson&shifti     rd rs1 i x:bool
2565fc546eeSRichard Henderson@shifti     .. rd:5  ...... rs1:5 . x:1 ...... i:6         &shifti
2575fc546eeSRichard Henderson
2585fc546eeSRichard HendersonSLL_i       10 ..... 100101 ..... 1 .   000000 ......      @shifti
2595fc546eeSRichard HendersonSRL_i       10 ..... 100110 ..... 1 .   000000 ......      @shifti
2605fc546eeSRichard HendersonSRA_i       10 ..... 100111 ..... 1 .   000000 ......      @shifti
2615fc546eeSRichard Henderson
26230376636SRichard HendersonTcc_r       10 0 cond:4 111010 rs1:5 0 cc:1 0000000 rs2:5
26330376636SRichard Henderson{
26430376636SRichard Henderson  # For v7, the entire simm13 field is present, but masked to 7 bits.
26530376636SRichard Henderson  # For v8, [12:7] are reserved.  However, a compatibility note for
26630376636SRichard Henderson  # the Tcc insn in the v9 manual suggests that the v8 reserved field
26730376636SRichard Henderson  # was ignored and did not produce traps.
26830376636SRichard Henderson  Tcc_i_v7  10 0 cond:4 111010 rs1:5 1 ------ i:7
26930376636SRichard Henderson
27030376636SRichard Henderson  # For v9, bits [12:11] are cc1 and cc0 (and cc0 must be 0).
27130376636SRichard Henderson  # Bits [10:8] are reserved and the OSA2011 manual says they must be 0.
27230376636SRichard Henderson  Tcc_i_v9  10 0 cond:4 111010 rs1:5 1 cc:1 0 000 i:8
27330376636SRichard Henderson}
274fb4ed7aaSRichard Henderson
275fb4ed7aaSRichard HendersonMOVcc       10 rd:5  101100 1 cond:4 imm:1 cc:1 0 rs2_or_imm:s11
276fb4ed7aaSRichard HendersonMOVfcc      10 rd:5  101100 0 cond:4 imm:1 cc:2   rs2_or_imm:s11
277fb4ed7aaSRichard HendersonMOVR        10 rd:5  101111 rs1:5    imm:1 cond:3 rs2_or_imm:s10
278d3c7e8adSRichard Henderson
27986b82fe0SRichard HendersonJMPL        10 ..... 111000 ..... . .............          @r_r_ri
28086b82fe0SRichard Henderson{
28186b82fe0SRichard Henderson  RETT      10 00000 111001 ..... . .............          @n_r_ri
28286b82fe0SRichard Henderson  RETURN    10 00000 111001 ..... . .............          @n_r_ri
28386b82fe0SRichard Henderson}
284d3825800SRichard HendersonNOP         10 00000 111011 ----- 0 00000000-----          # FLUSH reg+reg
285d3825800SRichard HendersonNOP         10 00000 111011 ----- 1 -------------          # FLUSH reg+imm
286d3825800SRichard HendersonSAVE        10 ..... 111100 ..... . .............          @r_r_ri
287d3825800SRichard HendersonRESTORE     10 ..... 111101 ..... . .............          @r_r_ri
28886b82fe0SRichard Henderson
2898f75b8a4SRichard HendersonDONE        10 00000 111110 00000 0 0000000000000
2908f75b8a4SRichard HendersonRETRY       10 00001 111110 00000 0 0000000000000
2918f75b8a4SRichard Henderson
292baf3dbf2SRichard HendersonFMOVs       10 ..... 110100 00000 0 0000 0001 .....        @r_r2
2930bba7572SRichard HendersonFMOVd       10 ..... 110100 00000 0 0000 0010 .....        @d_d2
2940bba7572SRichard HendersonFMOVq       10 ..... 110100 00000 0 0000 0011 .....        @q_q2
295baf3dbf2SRichard HendersonFNEGs       10 ..... 110100 00000 0 0000 0101 .....        @r_r2
2960bba7572SRichard HendersonFNEGd       10 ..... 110100 00000 0 0000 0110 .....        @d_d2
2970bba7572SRichard HendersonFNEGq       10 ..... 110100 00000 0 0000 0111 .....        @q_q2
298baf3dbf2SRichard HendersonFABSs       10 ..... 110100 00000 0 0000 1001 .....        @r_r2
2990bba7572SRichard HendersonFABSd       10 ..... 110100 00000 0 0000 1010 .....        @d_d2
3000bba7572SRichard HendersonFABSq       10 ..... 110100 00000 0 0000 1011 .....        @q_q2
301119cb94fSRichard HendersonFSQRTs      10 ..... 110100 00000 0 0010 1001 .....        @r_r2
3020bba7572SRichard HendersonFSQRTd      10 ..... 110100 00000 0 0010 1010 .....        @d_d2
3030bba7572SRichard HendersonFSQRTq      10 ..... 110100 00000 0 0010 1011 .....        @q_q2
304c1514961SRichard HendersonFADDs       10 ..... 110100 ..... 0 0100 0001 .....        @r_r_r
3050bba7572SRichard HendersonFADDd       10 ..... 110100 ..... 0 0100 0010 .....        @d_d_d
3060bba7572SRichard HendersonFADDq       10 ..... 110100 ..... 0 0100 0011 .....        @q_q_q
307c1514961SRichard HendersonFSUBs       10 ..... 110100 ..... 0 0100 0101 .....        @r_r_r
3080bba7572SRichard HendersonFSUBd       10 ..... 110100 ..... 0 0100 0110 .....        @d_d_d
3090bba7572SRichard HendersonFSUBq       10 ..... 110100 ..... 0 0100 0111 .....        @q_q_q
310c1514961SRichard HendersonFMULs       10 ..... 110100 ..... 0 0100 1001 .....        @r_r_r
3110bba7572SRichard HendersonFMULd       10 ..... 110100 ..... 0 0100 1010 .....        @d_d_d
3120bba7572SRichard HendersonFMULq       10 ..... 110100 ..... 0 0100 1011 .....        @q_q_q
313c1514961SRichard HendersonFDIVs       10 ..... 110100 ..... 0 0100 1101 .....        @r_r_r
3140bba7572SRichard HendersonFDIVd       10 ..... 110100 ..... 0 0100 1110 .....        @d_d_d
3150bba7572SRichard HendersonFDIVq       10 ..... 110100 ..... 0 0100 1111 .....        @q_q_q
3163d50b728SRichard HendersonFNADDs      10 ..... 110100 ..... 0 0101 0001 .....        @r_r_r
3173d50b728SRichard HendersonFNADDd      10 ..... 110100 ..... 0 0101 0010 .....        @d_d_d
3183d50b728SRichard HendersonFNMULs      10 ..... 110100 ..... 0 0101 1001 .....        @r_r_r
3193d50b728SRichard HendersonFNMULd      10 ..... 110100 ..... 0 0101 1010 .....        @d_d_d
3203d50b728SRichard HendersonFHADDs      10 ..... 110100 ..... 0 0110 0001 .....        @r_r_r
3213d50b728SRichard HendersonFHADDd      10 ..... 110100 ..... 0 0110 0010 .....        @d_d_d
3223d50b728SRichard HendersonFHSUBs      10 ..... 110100 ..... 0 0110 0101 .....        @r_r_r
3233d50b728SRichard HendersonFHSUBd      10 ..... 110100 ..... 0 0110 0110 .....        @d_d_d
3240bba7572SRichard HendersonFsMULd      10 ..... 110100 ..... 0 0110 1001 .....        @d_r_r
3250bba7572SRichard HendersonFdMULq      10 ..... 110100 ..... 0 0110 1110 .....        @q_d_d
3263d50b728SRichard HendersonFNHADDs     10 ..... 110100 ..... 0 0111 0001 .....        @r_r_r
3273d50b728SRichard HendersonFNHADDd     10 ..... 110100 ..... 0 0111 0010 .....        @d_d_d
3283d50b728SRichard HendersonFNsMULd     10 ..... 110100 ..... 0 0111 1001 .....        @d_r_r
329807c3ebdSMikael SzrederFsTOx       10 ..... 110100 00000 0 1000 0001 .....        @d_r2
330807c3ebdSMikael SzrederFdTOx       10 ..... 110100 00000 0 1000 0010 .....        @d_d2
331807c3ebdSMikael SzrederFqTOx       10 ..... 110100 00000 0 1000 0011 .....        @d_q2
332807c3ebdSMikael SzrederFxTOs       10 ..... 110100 00000 0 1000 0100 .....        @r_d2
333807c3ebdSMikael SzrederFxTOd       10 ..... 110100 00000 0 1000 1000 .....        @d_d2
334807c3ebdSMikael SzrederFxTOq       10 ..... 110100 00000 0 1000 1100 .....        @q_d2
335119cb94fSRichard HendersonFiTOs       10 ..... 110100 00000 0 1100 0100 .....        @r_r2
3360bba7572SRichard HendersonFdTOs       10 ..... 110100 00000 0 1100 0110 .....        @r_d2
3370bba7572SRichard HendersonFqTOs       10 ..... 110100 00000 0 1100 0111 .....        @r_q2
3380bba7572SRichard HendersonFiTOd       10 ..... 110100 00000 0 1100 1000 .....        @d_r2
3390bba7572SRichard HendersonFsTOd       10 ..... 110100 00000 0 1100 1001 .....        @d_r2
3400bba7572SRichard HendersonFqTOd       10 ..... 110100 00000 0 1100 1011 .....        @d_q2
3410bba7572SRichard HendersonFiTOq       10 ..... 110100 00000 0 1100 1100 .....        @q_r2
3420bba7572SRichard HendersonFsTOq       10 ..... 110100 00000 0 1100 1101 .....        @q_r2
3430bba7572SRichard HendersonFdTOq       10 ..... 110100 00000 0 1100 1110 .....        @q_d2
344119cb94fSRichard HendersonFsTOi       10 ..... 110100 00000 0 1101 0001 .....        @r_r2
3450bba7572SRichard HendersonFdTOi       10 ..... 110100 00000 0 1101 0010 .....        @r_d2
3460bba7572SRichard HendersonFqTOi       10 ..... 110100 00000 0 1101 0011 .....        @r_q2
347baf3dbf2SRichard Henderson
348f7ec8155SRichard HendersonFMOVscc     10 rd:5  110101 0 cond:4 1 cc:1 0 000001 rs2:5
3490bba7572SRichard HendersonFMOVdcc     10 ..... 110101 0 cond:4 1 cc:1 0 000010 ..... \
3500bba7572SRichard Henderson            rd=%dfp_rd rs2=%dfp_rs2
3510bba7572SRichard HendersonFMOVqcc     10 ..... 110101 0 cond:4 1 cc:1 0 000011 ..... \
3520bba7572SRichard Henderson            rd=%qfp_rd rs2=%qfp_rs2
353f7ec8155SRichard Henderson
354f7ec8155SRichard HendersonFMOVsfcc    10 rd:5  110101 0 cond:4 0 cc:2   000001 rs2:5
3550bba7572SRichard HendersonFMOVdfcc    10 ..... 110101 0 cond:4 0 cc:2   000010 ..... \
3560bba7572SRichard Henderson            rd=%dfp_rd rs2=%dfp_rs2
3570bba7572SRichard HendersonFMOVqfcc    10 ..... 110101 0 cond:4 0 cc:2   000011 ..... \
3580bba7572SRichard Henderson            rd=%qfp_rd rs2=%qfp_rs2
359f7ec8155SRichard Henderson
360f7ec8155SRichard HendersonFMOVRs      10 rd:5  110101 rs1:5    0 cond:3  00101 rs2:5
3610bba7572SRichard HendersonFMOVRd      10 ..... 110101 rs1:5    0 cond:3  00110 ..... \
3620bba7572SRichard Henderson            rd=%dfp_rd rs2=%dfp_rs2
3630bba7572SRichard HendersonFMOVRq      10 ..... 110101 rs1:5    0 cond:3  00111 ..... \
3640bba7572SRichard Henderson            rd=%qfp_rd rs2=%qfp_rs2
365f7ec8155SRichard Henderson
36640f9ad21SRichard HendersonFCMPs       10 000 cc:2 110101 rs1:5  0 0101 0001 rs2:5
3670bba7572SRichard HendersonFCMPd       10 000 cc:2 110101 .....  0 0101 0010 .....    \
3680bba7572SRichard Henderson            rs1=%dfp_rs1 rs2=%dfp_rs2
3690bba7572SRichard HendersonFCMPq       10 000 cc:2 110101 .....  0 0101 0011 .....    \
3700bba7572SRichard Henderson            rs1=%qfp_rs1 rs2=%qfp_rs2
37140f9ad21SRichard HendersonFCMPEs      10 000 cc:2 110101 rs1:5  0 0101 0101 rs2:5
3720bba7572SRichard HendersonFCMPEd      10 000 cc:2 110101 .....  0 0101 0110 .....    \
3730bba7572SRichard Henderson            rs1=%dfp_rs1 rs2=%dfp_rs2
3740bba7572SRichard HendersonFCMPEq      10 000 cc:2 110101 .....  0 0101 0111 .....    \
3750bba7572SRichard Henderson            rs1=%qfp_rs1 rs2=%qfp_rs2
37640f9ad21SRichard Henderson
377b88ce6f2SRichard Henderson{
378b88ce6f2SRichard Henderson  [
379b88ce6f2SRichard Henderson    EDGE8cc     10 ..... 110110 ..... 0 0000 0000 .....    @r_r_r
380b88ce6f2SRichard Henderson    EDGE8N      10 ..... 110110 ..... 0 0000 0001 .....    @r_r_r
381b88ce6f2SRichard Henderson    EDGE8Lcc    10 ..... 110110 ..... 0 0000 0010 .....    @r_r_r
382b88ce6f2SRichard Henderson    EDGE8LN     10 ..... 110110 ..... 0 0000 0011 .....    @r_r_r
383b88ce6f2SRichard Henderson    EDGE16cc    10 ..... 110110 ..... 0 0000 0100 .....    @r_r_r
384b88ce6f2SRichard Henderson    EDGE16N     10 ..... 110110 ..... 0 0000 0101 .....    @r_r_r
385b88ce6f2SRichard Henderson    EDGE16Lcc   10 ..... 110110 ..... 0 0000 0110 .....    @r_r_r
386b88ce6f2SRichard Henderson    EDGE16LN    10 ..... 110110 ..... 0 0000 0111 .....    @r_r_r
387b88ce6f2SRichard Henderson    EDGE32cc    10 ..... 110110 ..... 0 0000 1000 .....    @r_r_r
388b88ce6f2SRichard Henderson    EDGE32N     10 ..... 110110 ..... 0 0000 1001 .....    @r_r_r
389b88ce6f2SRichard Henderson    EDGE32Lcc   10 ..... 110110 ..... 0 0000 1010 .....    @r_r_r
390b88ce6f2SRichard Henderson    EDGE32LN    10 ..... 110110 ..... 0 0000 1011 .....    @r_r_r
39145bfed3bSRichard Henderson
39245bfed3bSRichard Henderson    ARRAY8      10 ..... 110110 ..... 0 0001 0000 .....    @r_r_r
39345bfed3bSRichard Henderson    ARRAY16     10 ..... 110110 ..... 0 0001 0010 .....    @r_r_r
39445bfed3bSRichard Henderson    ARRAY32     10 ..... 110110 ..... 0 0001 0100 .....    @r_r_r
3959e20ca94SRichard Henderson
396015fc6fcSRichard Henderson    ADDXC       10 ..... 110110 ..... 0 0001 0001 .....    @r_r_r
397015fc6fcSRichard Henderson    ADDXCcc     10 ..... 110110 ..... 0 0001 0011 .....    @r_r_r
398680af1b4SRichard Henderson    UMULXHI     10 ..... 110110 ..... 0 0001 0110 .....    @r_r_r
399875ce392SRichard Henderson    LZCNT       10 ..... 110110 00000 0 0001 0111 .....    @r_r2
400029b0283SRichard Henderson    XMULX       10 ..... 110110 ..... 1 0001 0101 .....    @r_r_r
401029b0283SRichard Henderson    XMULXHI     10 ..... 110110 ..... 1 0001 0110 .....    @r_r_r
402015fc6fcSRichard Henderson
4039e20ca94SRichard Henderson    ALIGNADDR   10 ..... 110110 ..... 0 0001 1000 .....    @r_r_r
4049e20ca94SRichard Henderson    ALIGNADDRL  10 ..... 110110 ..... 0 0001 1010 .....    @r_r_r
40539ca3490SRichard Henderson
40639ca3490SRichard Henderson    BMASK       10 ..... 110110 ..... 0 0001 1001 .....    @r_r_r
407baf3dbf2SRichard Henderson
408c973b4e8SRichard Henderson    CMASK8      10 00000 110110 00000 0 0001 1011 rs2:5
409c973b4e8SRichard Henderson    CMASK16     10 00000 110110 00000 0 0001 1101 rs2:5
410c973b4e8SRichard Henderson    CMASK32     10 00000 110110 00000 0 0001 1111 rs2:5
411c973b4e8SRichard Henderson
4120bba7572SRichard Henderson    FPCMPLE16   10 ..... 110110 ..... 0 0010 0000 .....    @r_d_d
4130bba7572SRichard Henderson    FPCMPNE16   10 ..... 110110 ..... 0 0010 0010 .....    @r_d_d
4140bba7572SRichard Henderson    FPCMPGT16   10 ..... 110110 ..... 0 0010 1000 .....    @r_d_d
4150bba7572SRichard Henderson    FPCMPEQ16   10 ..... 110110 ..... 0 0010 1010 .....    @r_d_d
4160bba7572SRichard Henderson    FPCMPLE32   10 ..... 110110 ..... 0 0010 0100 .....    @r_d_d
4170bba7572SRichard Henderson    FPCMPNE32   10 ..... 110110 ..... 0 0010 0110 .....    @r_d_d
4180bba7572SRichard Henderson    FPCMPGT32   10 ..... 110110 ..... 0 0010 1100 .....    @r_d_d
4190bba7572SRichard Henderson    FPCMPEQ32   10 ..... 110110 ..... 0 0010 1110 .....    @r_d_d
420e2fa6bd1SRichard Henderson
421fbc5c8d4SRichard Henderson    FSLL16      10 ..... 110110 ..... 0 0010 0001 .....    @d_d_d
422fbc5c8d4SRichard Henderson    FSRL16      10 ..... 110110 ..... 0 0010 0011 .....    @d_d_d
423fbc5c8d4SRichard Henderson    FSLAS16     10 ..... 110110 ..... 0 0010 1001 .....    @d_d_d
424fbc5c8d4SRichard Henderson    FSRA16      10 ..... 110110 ..... 0 0010 1011 .....    @d_d_d
425fbc5c8d4SRichard Henderson    FSLL32      10 ..... 110110 ..... 0 0010 0101 .....    @d_d_d
426fbc5c8d4SRichard Henderson    FSRL32      10 ..... 110110 ..... 0 0010 0111 .....    @d_d_d
427fbc5c8d4SRichard Henderson    FSLAS32     10 ..... 110110 ..... 0 0010 1101 .....    @d_d_d
428fbc5c8d4SRichard Henderson    FSRA32      10 ..... 110110 ..... 0 0010 1111 .....    @d_d_d
429fbc5c8d4SRichard Henderson
430669e0774SRichard Henderson    FPCMPULE8   10 ..... 110110 ..... 1 0010 0000 .....    @r_d_d
431669e0774SRichard Henderson    FPCMPUGT8   10 ..... 110110 ..... 1 0010 1000 .....    @r_d_d
432669e0774SRichard Henderson    FPCMPNE8    10 ..... 110110 ..... 1 0010 0010 .....    @r_d_d
433669e0774SRichard Henderson    FPCMPEQ8    10 ..... 110110 ..... 1 0010 1010 .....    @r_d_d
434b3c934ddSRichard Henderson    FPCMPLE8    10 ..... 110110 ..... 0 0011 0100 .....    @r_d_d
435b3c934ddSRichard Henderson    FPCMPGT8    10 ..... 110110 ..... 0 0011 1100 .....    @r_d_d
436b3c934ddSRichard Henderson    FPCMPULE16  10 ..... 110110 ..... 1 0010 1110 .....    @r_d_d
437b3c934ddSRichard Henderson    FPCMPUGT16  10 ..... 110110 ..... 1 0010 1011 .....    @r_d_d
438b3c934ddSRichard Henderson    FPCMPULE32  10 ..... 110110 ..... 1 0010 1111 .....    @r_d_d
439b3c934ddSRichard Henderson    FPCMPUGT32  10 ..... 110110 ..... 1 0010 1100 .....    @r_d_d
440669e0774SRichard Henderson
4410bba7572SRichard Henderson    FMUL8x16    10 ..... 110110 ..... 0 0011 0001 .....    @d_r_d
4420bba7572SRichard Henderson    FMUL8x16AU  10 ..... 110110 ..... 0 0011 0011 .....    @d_r_r
4430bba7572SRichard Henderson    FMUL8x16AL  10 ..... 110110 ..... 0 0011 0101 .....    @d_r_r
4440bba7572SRichard Henderson    FMUL8SUx16  10 ..... 110110 ..... 0 0011 0110 .....    @d_d_d
4450bba7572SRichard Henderson    FMUL8ULx16  10 ..... 110110 ..... 0 0011 0111 .....    @d_d_d
4460bba7572SRichard Henderson    FMULD8SUx16 10 ..... 110110 ..... 0 0011 1000 .....    @d_r_r
4470bba7572SRichard Henderson    FMULD8ULx16 10 ..... 110110 ..... 0 0011 1001 .....    @d_r_r
4480bba7572SRichard Henderson    FPACK32     10 ..... 110110 ..... 0 0011 1010 .....    @d_d_d
4490bba7572SRichard Henderson    FPACK16     10 ..... 110110 00000 0 0011 1011 .....    @r_d2
4500bba7572SRichard Henderson    FPACKFIX    10 ..... 110110 00000 0 0011 1101 .....    @r_d2
4514fd71d19SRichard Henderson    PDIST       10 ..... 110110 ..... 0 0011 1110 .....    \
4524fd71d19SRichard Henderson                &r_r_r_r rd=%dfp_rd rs1=%dfp_rd rs2=%dfp_rs1 rs3=%dfp_rs2
4537d5ebd8fSRichard Henderson    PDISTN      10 ..... 110110 ..... 0 0011 1111 .....    @r_d_d
454e06c9f83SRichard Henderson
455d6ff1ccbSRichard Henderson    FMEAN16     10 ..... 110110 ..... 0 0100 0000 .....    @d_d_d
45656f2ef9cSRichard Henderson    SUBXC       10 ..... 110110 ..... 0 0100 0001 .....    @r_r_r
45756f2ef9cSRichard Henderson    SUBXCcc     10 ..... 110110 ..... 0 0100 0011 .....    @r_r_r
4587837185eSRichard Henderson    FCHKSM16    10 ..... 110110 ..... 0 0100 0100 .....    @d_d_d
4590bba7572SRichard Henderson    FALIGNDATAg 10 ..... 110110 ..... 0 0100 1000 .....    @d_d_d
4600bba7572SRichard Henderson    FPMERGE     10 ..... 110110 ..... 0 0100 1011 .....    @d_r_r
4610bba7572SRichard Henderson    BSHUFFLE    10 ..... 110110 ..... 0 0100 1100 .....    @d_d_d
4620bba7572SRichard Henderson    FEXPAND     10 ..... 110110 00000 0 0100 1101 .....    @d_r2
463b2b48493SRichard Henderson    FALIGNDATAi 10 ..... 110110 ..... 0 0100 1001 .....    @d_r_d
464e06c9f83SRichard Henderson
4650bba7572SRichard Henderson    FSRCd       10 ..... 110110 ..... 0 0111 0100 00000    @d_d1  # FSRC1d
466baf3dbf2SRichard Henderson    FSRCs       10 ..... 110110 ..... 0 0111 0101 00000    @r_r1  # FSRC1s
4670bba7572SRichard Henderson    FSRCd       10 ..... 110110 00000 0 0111 1000 .....    @d_d2  # FSRC2d
468baf3dbf2SRichard Henderson    FSRCs       10 ..... 110110 00000 0 0111 1001 .....    @r_r2  # FSRC2s
4690bba7572SRichard Henderson    FNOTd       10 ..... 110110 ..... 0 0110 1010 00000    @d_d1  # FNOT1d
470baf3dbf2SRichard Henderson    FNOTs       10 ..... 110110 ..... 0 0110 1011 00000    @r_r1  # FNOT1s
4710bba7572SRichard Henderson    FNOTd       10 ..... 110110 00000 0 0110 0110 .....    @d_d2  # FNOT2d
472baf3dbf2SRichard Henderson    FNOTs       10 ..... 110110 00000 0 0110 0111 .....    @r_r2  # FNOT2s
4737f10b52fSRichard Henderson
4740bba7572SRichard Henderson    FPADD16     10 ..... 110110 ..... 0 0101 0000 .....    @d_d_d
4757f10b52fSRichard Henderson    FPADD16s    10 ..... 110110 ..... 0 0101 0001 .....    @r_r_r
4760bba7572SRichard Henderson    FPADD32     10 ..... 110110 ..... 0 0101 0010 .....    @d_d_d
4777f10b52fSRichard Henderson    FPADD32s    10 ..... 110110 ..... 0 0101 0011 .....    @r_r_r
478bc3f14a9SRichard Henderson    FPADD64     10 ..... 110110 ..... 0 0100 0010 .....    @d_d_d
4790bba7572SRichard Henderson    FPSUB16     10 ..... 110110 ..... 0 0101 0100 .....    @d_d_d
4807f10b52fSRichard Henderson    FPSUB16s    10 ..... 110110 ..... 0 0101 0101 .....    @r_r_r
4810bba7572SRichard Henderson    FPSUB32     10 ..... 110110 ..... 0 0101 0110 .....    @d_d_d
4827f10b52fSRichard Henderson    FPSUB32s    10 ..... 110110 ..... 0 0101 0111 .....    @r_r_r
483bc3f14a9SRichard Henderson    FPSUB64     10 ..... 110110 ..... 0 0100 0110 .....    @d_d_d
484e06c9f83SRichard Henderson
4850d1d3aafSRichard Henderson    FPADDS16    10 ..... 110110 ..... 0 0101 1000 .....    @d_d_d
4860d1d3aafSRichard Henderson    FPADDS16s   10 ..... 110110 ..... 0 0101 1001 .....    @r_r_r
4870d1d3aafSRichard Henderson    FPADDS32    10 ..... 110110 ..... 0 0101 1010 .....    @d_d_d
4880d1d3aafSRichard Henderson    FPADDS32s   10 ..... 110110 ..... 0 0101 1011 .....    @r_r_r
4890d1d3aafSRichard Henderson    FPSUBS16    10 ..... 110110 ..... 0 0101 1100 .....    @d_d_d
4900d1d3aafSRichard Henderson    FPSUBS16s   10 ..... 110110 ..... 0 0101 1101 .....    @r_r_r
4910d1d3aafSRichard Henderson    FPSUBS32    10 ..... 110110 ..... 0 0101 1110 .....    @d_d_d
4920d1d3aafSRichard Henderson    FPSUBS32s   10 ..... 110110 ..... 0 0101 1111 .....    @r_r_r
4930d1d3aafSRichard Henderson
4940bba7572SRichard Henderson    FNORd       10 ..... 110110 ..... 0 0110 0010 .....    @d_d_d
4957f10b52fSRichard Henderson    FNORs       10 ..... 110110 ..... 0 0110 0011 .....    @r_r_r
4960bba7572SRichard Henderson    FANDNOTd    10 ..... 110110 ..... 0 0110 0100 .....    @d_d_d   # FANDNOT2d
4977f10b52fSRichard Henderson    FANDNOTs    10 ..... 110110 ..... 0 0110 0101 .....    @r_r_r   # FANDNOT2s
4980bba7572SRichard Henderson    FANDNOTd    10 ..... 110110 ..... 0 0110 1000 .....    @d_d_d_swap # ... 1d
4997f10b52fSRichard Henderson    FANDNOTs    10 ..... 110110 ..... 0 0110 1001 .....    @r_r_r_swap # ... 1s
5000bba7572SRichard Henderson    FXORd       10 ..... 110110 ..... 0 0110 1100 .....    @d_d_d
5017f10b52fSRichard Henderson    FXORs       10 ..... 110110 ..... 0 0110 1101 .....    @r_r_r
5020bba7572SRichard Henderson    FNANDd      10 ..... 110110 ..... 0 0110 1110 .....    @d_d_d
5037f10b52fSRichard Henderson    FNANDs      10 ..... 110110 ..... 0 0110 1111 .....    @r_r_r
5040bba7572SRichard Henderson    FANDd       10 ..... 110110 ..... 0 0111 0000 .....    @d_d_d
5057f10b52fSRichard Henderson    FANDs       10 ..... 110110 ..... 0 0111 0001 .....    @r_r_r
5060bba7572SRichard Henderson    FXNORd      10 ..... 110110 ..... 0 0111 0010 .....    @d_d_d
5077f10b52fSRichard Henderson    FXNORs      10 ..... 110110 ..... 0 0111 0011 .....    @r_r_r
5080bba7572SRichard Henderson    FORNOTd     10 ..... 110110 ..... 0 0111 0110 .....    @d_d_d    # FORNOT2d
5097f10b52fSRichard Henderson    FORNOTs     10 ..... 110110 ..... 0 0111 0111 .....    @r_r_r    # FORNOT2s
5100bba7572SRichard Henderson    FORNOTd     10 ..... 110110 ..... 0 0111 1010 .....    @d_d_d_swap # ... 1d
5117f10b52fSRichard Henderson    FORNOTs     10 ..... 110110 ..... 0 0111 1011 .....    @r_r_r_swap # ... 1s
5120bba7572SRichard Henderson    FORd        10 ..... 110110 ..... 0 0111 1100 .....    @d_d_d
5137f10b52fSRichard Henderson    FORs        10 ..... 110110 ..... 0 0111 1101 .....    @r_r_r
5143a38260eSRichard Henderson
5150bba7572SRichard Henderson    FZEROd      10 ..... 110110 00000 0 0110 0000 00000    rd=%dfp_rd
5163a38260eSRichard Henderson    FZEROs      10 rd:5  110110 00000 0 0110 0001 00000
5170bba7572SRichard Henderson    FONEd       10 ..... 110110 00000 0 0111 1110 00000    rd=%dfp_rd
5183a38260eSRichard Henderson    FONEs       10 rd:5  110110 00000 0 0111 1111 00000
5191d3ed3d7SRichard Henderson
52009b157e6SRichard Henderson    MOVsTOuw    10 ..... 110110 00000 1 0001 0001 .....    @r_r2
52109b157e6SRichard Henderson    MOVsTOsw    10 ..... 110110 00000 1 0001 0011 .....    @r_r2
52209b157e6SRichard Henderson    MOVwTOs     10 ..... 110110 00000 1 0001 1001 .....    @r_r2
52309b157e6SRichard Henderson    MOVdTOx     10 ..... 110110 00000 1 0001 0000 .....    @r_d2
52409b157e6SRichard Henderson    MOVxTOd     10 ..... 110110 00000 1 0001 1000 .....    @d_r2
52509b157e6SRichard Henderson
526b99c1bbdSRichard Henderson    FPADD8      10 ..... 110110 ..... 1 0010 0100 .....    @d_d_d
527b99c1bbdSRichard Henderson    FPADDS8     10 ..... 110110 ..... 1 0010 0110 .....    @d_d_d
528b99c1bbdSRichard Henderson    FPADDUS8    10 ..... 110110 ..... 1 0010 0111 .....    @d_d_d
529b99c1bbdSRichard Henderson    FPADDUS16   10 ..... 110110 ..... 1 0010 0011 .....    @d_d_d
530b99c1bbdSRichard Henderson    FPSUB8      10 ..... 110110 ..... 1 0101 0100 .....    @d_d_d
531b99c1bbdSRichard Henderson    FPSUBS8     10 ..... 110110 ..... 1 0101 0110 .....    @d_d_d
532b99c1bbdSRichard Henderson    FPSUBUS8    10 ..... 110110 ..... 1 0101 0111 .....    @d_d_d
533b99c1bbdSRichard Henderson    FPSUBUS16   10 ..... 110110 ..... 1 0101 0011 .....    @d_d_d
534b99c1bbdSRichard Henderson
535db11dfeaSRichard Henderson    FPMIN8      10 ..... 110110 ..... 1 0001 1010 .....    @d_d_d
536db11dfeaSRichard Henderson    FPMIN16     10 ..... 110110 ..... 1 0001 1011 .....    @d_d_d
537db11dfeaSRichard Henderson    FPMIN32     10 ..... 110110 ..... 1 0001 1100 .....    @d_d_d
538db11dfeaSRichard Henderson    FPMINU8     10 ..... 110110 ..... 1 0101 1010 .....    @d_d_d
539db11dfeaSRichard Henderson    FPMINU16    10 ..... 110110 ..... 1 0101 1011 .....    @d_d_d
540db11dfeaSRichard Henderson    FPMINU32    10 ..... 110110 ..... 1 0101 1100 .....    @d_d_d
541db11dfeaSRichard Henderson
542db11dfeaSRichard Henderson    FPMAX8      10 ..... 110110 ..... 1 0001 1101 .....    @d_d_d
543db11dfeaSRichard Henderson    FPMAX16     10 ..... 110110 ..... 1 0001 1110 .....    @d_d_d
544db11dfeaSRichard Henderson    FPMAX32     10 ..... 110110 ..... 1 0001 1111 .....    @d_d_d
545db11dfeaSRichard Henderson    FPMAXU8     10 ..... 110110 ..... 1 0101 1101 .....    @d_d_d
546db11dfeaSRichard Henderson    FPMAXU16    10 ..... 110110 ..... 1 0101 1110 .....    @d_d_d
547db11dfeaSRichard Henderson    FPMAXU32    10 ..... 110110 ..... 1 0101 1111 .....    @d_d_d
548db11dfeaSRichard Henderson
5491d3ed3d7SRichard Henderson    FLCMPs      10 000 cc:2 110110 rs1:5 1 0101 0001 rs2:5
5501d3ed3d7SRichard Henderson    FLCMPd      10 000 cc:2 110110 ..... 1 0101 0010 ..... \
5511d3ed3d7SRichard Henderson                rs1=%dfp_rs1 rs2=%dfp_rs2
552b88ce6f2SRichard Henderson  ]
5535458fd31SRichard Henderson  NCP           10 ----- 110110 ----- --------- -----      # v8 CPop1
554b88ce6f2SRichard Henderson}
555b88ce6f2SRichard Henderson
5564fd71d19SRichard Henderson{
5574fd71d19SRichard Henderson  [
5584fd71d19SRichard Henderson    FMADDs      10 ..... 110111 ..... ..... 0001 .....     @r_r_r_r
5594fd71d19SRichard Henderson    FMADDd      10 ..... 110111 ..... ..... 0010 .....     @d_d_d_d
5604fd71d19SRichard Henderson    FMSUBs      10 ..... 110111 ..... ..... 0101 .....     @r_r_r_r
5614fd71d19SRichard Henderson    FMSUBd      10 ..... 110111 ..... ..... 0110 .....     @d_d_d_d
5624fd71d19SRichard Henderson    FNMSUBs     10 ..... 110111 ..... ..... 1001 .....     @r_r_r_r
5634fd71d19SRichard Henderson    FNMSUBd     10 ..... 110111 ..... ..... 1010 .....     @d_d_d_d
5644fd71d19SRichard Henderson    FNMADDs     10 ..... 110111 ..... ..... 1101 .....     @r_r_r_r
5654fd71d19SRichard Henderson    FNMADDd     10 ..... 110111 ..... ..... 1110 .....     @d_d_d_d
56668a414e9SRichard Henderson
56768a414e9SRichard Henderson    FPMADDX     10 ..... 110111 ..... ..... 0000 .....     @d_d_d_d
56868a414e9SRichard Henderson    FPMADDXHI   10 ..... 110111 ..... ..... 0100 .....     @d_d_d_d
5694fd71d19SRichard Henderson  ]
5705458fd31SRichard Henderson  NCP           10 ----- 110111 ----- --------- -----      # v8 CPop2
5714fd71d19SRichard Henderson}
5725458fd31SRichard Henderson
5730880d20bSRichard Henderson##
5740880d20bSRichard Henderson## Major Opcode 11 -- load and store instructions
5750880d20bSRichard Henderson##
5760880d20bSRichard Henderson
5770880d20bSRichard Henderson&r_r_ri_asi rd rs1 rs2_or_imm asi imm:bool
5780880d20bSRichard Henderson@r_r_ri_na  .. rd:5  ...... rs1:5 imm:1 rs2_or_imm:s13     &r_r_ri_asi asi=-1
57906c060d9SRichard Henderson@d_r_ri_na  .. ..... ...... rs1:5 imm:1 rs2_or_imm:s13     \
58006c060d9SRichard Henderson            &r_r_ri_asi rd=%dfp_rd asi=-1
58106c060d9SRichard Henderson@q_r_ri_na  .. ..... ...... rs1:5 imm:1 rs2_or_imm:s13     \
58206c060d9SRichard Henderson            &r_r_ri_asi rd=%qfp_rd asi=-1
58306c060d9SRichard Henderson
58442071fc1SRichard Henderson@r_r_r_asi  .. rd:5  ...... rs1:5 0     asi:8 rs2_or_imm:5 &r_r_ri_asi imm=0
58542071fc1SRichard Henderson@r_r_i_asi  .. rd:5  ...... rs1:5 1     rs2_or_imm:s13     \
58642071fc1SRichard Henderson            &r_r_ri_asi imm=1 asi=-2
587287b1152SRichard Henderson@d_r_r_asi  .. ..... ...... rs1:5 0     asi:8 rs2_or_imm:5 \
588287b1152SRichard Henderson            &r_r_ri_asi rd=%dfp_rd imm=0
589287b1152SRichard Henderson@d_r_i_asi  .. ..... ...... rs1:5 1     rs2_or_imm:s13     \
590287b1152SRichard Henderson            &r_r_ri_asi rd=%dfp_rd imm=1 asi=-2
591287b1152SRichard Henderson@q_r_r_asi  .. ..... ...... rs1:5 0     asi:8 rs2_or_imm:5 \
592287b1152SRichard Henderson            &r_r_ri_asi rd=%qfp_rd imm=0
593287b1152SRichard Henderson@q_r_i_asi  .. ..... ...... rs1:5 1     rs2_or_imm:s13     \
594287b1152SRichard Henderson            &r_r_ri_asi rd=%qfp_rd imm=1 asi=-2
595d0a11d25SRichard Henderson@casa_imm   .. rd:5  ...... rs1:5 1 00000000 rs2_or_imm:5  \
596d0a11d25SRichard Henderson            &r_r_ri_asi imm=1 asi=-2
5970880d20bSRichard Henderson
5980880d20bSRichard HendersonLDUW        11 ..... 000000 ..... . .............          @r_r_ri_na
5990880d20bSRichard HendersonLDUB        11 ..... 000001 ..... . .............          @r_r_ri_na
6000880d20bSRichard HendersonLDUH        11 ..... 000010 ..... . .............          @r_r_ri_na
6010880d20bSRichard HendersonLDD         11 ..... 000011 ..... . .............          @r_r_ri_na
6020880d20bSRichard HendersonLDSW        11 ..... 001000 ..... . .............          @r_r_ri_na
6030880d20bSRichard HendersonLDSB        11 ..... 001001 ..... . .............          @r_r_ri_na
6040880d20bSRichard HendersonLDSH        11 ..... 001010 ..... . .............          @r_r_ri_na
6050880d20bSRichard HendersonLDX         11 ..... 001011 ..... . .............          @r_r_ri_na
6060880d20bSRichard Henderson
6070880d20bSRichard HendersonSTW         11 ..... 000100 ..... . .............          @r_r_ri_na
6080880d20bSRichard HendersonSTB         11 ..... 000101 ..... . .............          @r_r_ri_na
6090880d20bSRichard HendersonSTH         11 ..... 000110 ..... . .............          @r_r_ri_na
6100880d20bSRichard HendersonSTD         11 ..... 000111 ..... . .............          @r_r_ri_na
6110880d20bSRichard HendersonSTX         11 ..... 001110 ..... . .............          @r_r_ri_na
6120880d20bSRichard Henderson
61342071fc1SRichard HendersonLDUW        11 ..... 010000 ..... . .............          @r_r_r_asi # LDUWA
61442071fc1SRichard HendersonLDUW        11 ..... 010000 ..... . .............          @r_r_i_asi # LDUWA
61542071fc1SRichard HendersonLDUB        11 ..... 010001 ..... . .............          @r_r_r_asi # LDUBA
61642071fc1SRichard HendersonLDUB        11 ..... 010001 ..... . .............          @r_r_i_asi # LDUBA
61742071fc1SRichard HendersonLDUH        11 ..... 010010 ..... . .............          @r_r_r_asi # LDUHA
61842071fc1SRichard HendersonLDUH        11 ..... 010010 ..... . .............          @r_r_i_asi # LDUHA
61942071fc1SRichard HendersonLDD         11 ..... 010011 ..... . .............          @r_r_r_asi # LDDA
62042071fc1SRichard HendersonLDD         11 ..... 010011 ..... . .............          @r_r_i_asi # LDDA
62142071fc1SRichard HendersonLDX         11 ..... 011011 ..... . .............          @r_r_r_asi # LDXA
62242071fc1SRichard HendersonLDX         11 ..... 011011 ..... . .............          @r_r_i_asi # LDXA
62342071fc1SRichard HendersonLDSB        11 ..... 011001 ..... . .............          @r_r_r_asi # LDSBA
62442071fc1SRichard HendersonLDSB        11 ..... 011001 ..... . .............          @r_r_i_asi # LDSBA
62542071fc1SRichard HendersonLDSH        11 ..... 011010 ..... . .............          @r_r_r_asi # LDSHA
62642071fc1SRichard HendersonLDSH        11 ..... 011010 ..... . .............          @r_r_i_asi # LDSHA
62742071fc1SRichard HendersonLDSW        11 ..... 011000 ..... . .............          @r_r_r_asi # LDSWA
62842071fc1SRichard HendersonLDSW        11 ..... 011000 ..... . .............          @r_r_i_asi # LDSWA
62942071fc1SRichard Henderson
63042071fc1SRichard HendersonSTW         11 ..... 010100 ..... . .............          @r_r_r_asi # STWA
63142071fc1SRichard HendersonSTW         11 ..... 010100 ..... . .............          @r_r_i_asi # STWA
63242071fc1SRichard HendersonSTB         11 ..... 010101 ..... . .............          @r_r_r_asi # STBA
63342071fc1SRichard HendersonSTB         11 ..... 010101 ..... . .............          @r_r_i_asi # STBA
63442071fc1SRichard HendersonSTH         11 ..... 010110 ..... . .............          @r_r_r_asi # STHA
63542071fc1SRichard HendersonSTH         11 ..... 010110 ..... . .............          @r_r_i_asi # STHA
63642071fc1SRichard HendersonSTD         11 ..... 010111 ..... . .............          @r_r_r_asi # STDA
63742071fc1SRichard HendersonSTD         11 ..... 010111 ..... . .............          @r_r_i_asi # STDA
63842071fc1SRichard HendersonSTX         11 ..... 011110 ..... . .............          @r_r_r_asi # STXA
63942071fc1SRichard HendersonSTX         11 ..... 011110 ..... . .............          @r_r_i_asi # STXA
64042071fc1SRichard Henderson
64106c060d9SRichard HendersonLDF         11 ..... 100000 ..... . .............          @r_r_ri_na
6423d3c0673SRichard HendersonLDFSR       11 00000 100001 ..... . .............          @n_r_ri
6433d3c0673SRichard HendersonLDXFSR      11 00001 100001 ..... . .............          @n_r_ri
644298c52f7SRichard HendersonLDXEFSR     11 00011 100001 ..... . .............          @n_r_ri
64506c060d9SRichard HendersonLDQF        11 ..... 100010 ..... . .............          @q_r_ri_na
64606c060d9SRichard HendersonLDDF        11 ..... 100011 ..... . .............          @d_r_ri_na
64706c060d9SRichard Henderson
64806c060d9SRichard HendersonSTF         11 ..... 100100 ..... . .............          @r_r_ri_na
6493d3c0673SRichard HendersonSTFSR       11 00000 100101 ..... . .............          @n_r_ri
6503d3c0673SRichard HendersonSTXFSR      11 00001 100101 ..... . .............          @n_r_ri
65106c060d9SRichard Henderson{
65212d36294SRichard Henderson  STQF      11 ..... 100110 ..... . .............          @q_r_ri_na # v9
65329b99802SRichard Henderson  STDFQ     11 ..... 100110 ..... . .............          @r_r_ri    # v7,v8
65406c060d9SRichard Henderson}
65506c060d9SRichard HendersonSTDF        11 ..... 100111 ..... . .............          @d_r_ri_na
65606c060d9SRichard Henderson
657cf07cd1eSRichard HendersonLDSTUB      11 ..... 001101 ..... . .............          @r_r_ri_na
658cf07cd1eSRichard HendersonLDSTUB      11 ..... 011101 ..... . .............          @r_r_r_asi # LDSTUBA
659cf07cd1eSRichard HendersonLDSTUB      11 ..... 011101 ..... . .............          @r_r_i_asi # LDSTUBA
660cf07cd1eSRichard Henderson
661dca544b9SRichard HendersonSWAP        11 ..... 001111 ..... . .............          @r_r_ri_na
662dca544b9SRichard HendersonSWAP        11 ..... 011111 ..... . .............          @r_r_r_asi # SWAPA
663dca544b9SRichard HendersonSWAP        11 ..... 011111 ..... . .............          @r_r_i_asi # SWAPA
664dca544b9SRichard Henderson
665d0a11d25SRichard HendersonCASA        11 ..... 111100 ..... . .............          @r_r_r_asi
666d0a11d25SRichard HendersonCASA        11 ..... 111100 ..... . .............          @casa_imm
667d0a11d25SRichard HendersonCASXA       11 ..... 111110 ..... . .............          @r_r_r_asi
668d0a11d25SRichard HendersonCASXA       11 ..... 111110 ..... . .............          @casa_imm
669d0a11d25SRichard Henderson
6705458fd31SRichard HendersonNOP_v9      11 ----- 101101 ----- 0 00000000 -----         # PREFETCH
6715458fd31SRichard HendersonNOP_v9      11 ----- 101101 ----- 1 -------------          # PREFETCH
6725458fd31SRichard HendersonNOP_v9      11 ----- 111101 ----- - -------------          # PREFETCHA
673d3c7e8adSRichard Henderson
674287b1152SRichard Henderson{
675287b1152SRichard Henderson  [
676287b1152SRichard Henderson    LDFA    11 ..... 110000 ..... . .............          @r_r_r_asi
677287b1152SRichard Henderson    LDFA    11 ..... 110000 ..... . .............          @r_r_i_asi
678287b1152SRichard Henderson  ]
679d3c7e8adSRichard Henderson  NCP       11 ----- 110000 ----- --------- -----          # v8 LDC
680287b1152SRichard Henderson}
681d3c7e8adSRichard HendersonNCP         11 ----- 110001 ----- --------- -----          # v8 LDCSR
682287b1152SRichard HendersonLDQFA       11 ..... 110010 ..... . .............          @q_r_r_asi
683287b1152SRichard HendersonLDQFA       11 ..... 110010 ..... . .............          @q_r_i_asi
684287b1152SRichard Henderson{
685287b1152SRichard Henderson  [
686287b1152SRichard Henderson    LDDFA   11 ..... 110011 ..... . .............          @d_r_r_asi
687287b1152SRichard Henderson    LDDFA   11 ..... 110011 ..... . .............          @d_r_i_asi
688287b1152SRichard Henderson  ]
689d3c7e8adSRichard Henderson  NCP       11 ----- 110011 ----- --------- -----          # v8 LDDC
690287b1152SRichard Henderson}
691287b1152SRichard Henderson
692287b1152SRichard Henderson{
693287b1152SRichard Henderson  [
694287b1152SRichard Henderson    STFA    11 ..... 110100 ..... . .............          @r_r_r_asi
695287b1152SRichard Henderson    STFA    11 ..... 110100 ..... . .............          @r_r_i_asi
696287b1152SRichard Henderson  ]
697d3c7e8adSRichard Henderson  NCP       11 ----- 110100 ----- --------- -----          # v8 STC
698287b1152SRichard Henderson}
699d3c7e8adSRichard HendersonNCP         11 ----- 110101 ----- --------- -----          # v8 STCSR
700287b1152SRichard Henderson{
701287b1152SRichard Henderson  [
702287b1152SRichard Henderson    STQFA   11 ..... 110110 ..... . .............          @q_r_r_asi
703287b1152SRichard Henderson    STQFA   11 ..... 110110 ..... . .............          @q_r_i_asi
704287b1152SRichard Henderson  ]
705d3c7e8adSRichard Henderson  NCP       11 ----- 110110 ----- --------- -----          # v8 STDCQ
706287b1152SRichard Henderson}
707287b1152SRichard Henderson{
708287b1152SRichard Henderson  [
709287b1152SRichard Henderson    STDFA   11 ..... 110111 ..... . .............          @d_r_r_asi
710287b1152SRichard Henderson    STDFA   11 ..... 110111 ..... . .............          @d_r_i_asi
711287b1152SRichard Henderson  ]
712d3c7e8adSRichard Henderson  NCP       11 ----- 110111 ----- --------- -----          # v8 STDC
713287b1152SRichard Henderson}
714