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