1878cc677SRichard Henderson# SPDX-License-Identifier: LGPL-2.0+ 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 99af25071cSRichard Henderson RDASR17 10 rd:5 101000 10001 0 0000000000000 100af25071cSRichard Henderson RDGSR 10 rd:5 101000 10011 0 0000000000000 101af25071cSRichard Henderson RDSOFTINT 10 rd:5 101000 10110 0 0000000000000 102af25071cSRichard Henderson RDTICK_CMPR 10 rd:5 101000 10111 0 0000000000000 103af25071cSRichard Henderson RDSTICK 10 rd:5 101000 11000 0 0000000000000 104af25071cSRichard Henderson RDSTICK_CMPR 10 rd:5 101000 11001 0 0000000000000 105af25071cSRichard Henderson RDSTRAND_STATUS 10 rd:5 101000 11010 0 0000000000000 106af25071cSRichard Henderson ] 107af25071cSRichard Henderson # Before v8, all rs1 accepted; otherwise rs1==0. 108af25071cSRichard Henderson RDY 10 rd:5 101000 rs1:5 0 0000000000000 109af25071cSRichard Henderson} 110af25071cSRichard Henderson 111668bb9b7SRichard Henderson{ 1120faef01bSRichard Henderson [ 1130faef01bSRichard Henderson WRY 10 00000 110000 ..... . ............. @n_r_ri 1140faef01bSRichard Henderson WRCCR 10 00010 110000 ..... . ............. @n_r_ri 1150faef01bSRichard Henderson WRASI 10 00011 110000 ..... . ............. @n_r_ri 1160faef01bSRichard Henderson WRFPRS 10 00110 110000 ..... . ............. @n_r_ri 1170faef01bSRichard Henderson { 1180faef01bSRichard Henderson WRGSR 10 10011 110000 ..... . ............. @n_r_ri 1190faef01bSRichard Henderson WRPOWERDOWN 10 10011 110000 ..... . ............. @n_r_ri 1200faef01bSRichard Henderson } 1210faef01bSRichard Henderson WRSOFTINT_SET 10 10100 110000 ..... . ............. @n_r_ri 1220faef01bSRichard Henderson WRSOFTINT_CLR 10 10101 110000 ..... . ............. @n_r_ri 1230faef01bSRichard Henderson WRSOFTINT 10 10110 110000 ..... . ............. @n_r_ri 1240faef01bSRichard Henderson WRTICK_CMPR 10 10111 110000 ..... . ............. @n_r_ri 1250faef01bSRichard Henderson WRSTICK 10 11000 110000 ..... . ............. @n_r_ri 1260faef01bSRichard Henderson WRSTICK_CMPR 10 11001 110000 ..... . ............. @n_r_ri 1270faef01bSRichard Henderson ] 1280faef01bSRichard Henderson # Before v8, rs1==0 was WRY, and the rest executed as nop. 1290faef01bSRichard Henderson [ 1300faef01bSRichard Henderson NOP_v7 10 ----- 110000 ----- 0 00000000 ----- 1310faef01bSRichard Henderson NOP_v7 10 ----- 110000 ----- 1 -------- ----- 1320faef01bSRichard Henderson ] 1330faef01bSRichard Henderson} 1340faef01bSRichard Henderson 1350faef01bSRichard Henderson{ 136668bb9b7SRichard Henderson RDPSR 10 rd:5 101001 00000 0 0000000000000 137668bb9b7SRichard Henderson RDHPR_hpstate 10 rd:5 101001 00000 0 0000000000000 138668bb9b7SRichard Henderson} 139668bb9b7SRichard HendersonRDHPR_htstate 10 rd:5 101001 00001 0 0000000000000 140668bb9b7SRichard HendersonRDHPR_hintp 10 rd:5 101001 00011 0 0000000000000 141668bb9b7SRichard HendersonRDHPR_htba 10 rd:5 101001 00101 0 0000000000000 142668bb9b7SRichard HendersonRDHPR_hver 10 rd:5 101001 00110 0 0000000000000 143668bb9b7SRichard HendersonRDHPR_hstick_cmpr 10 rd:5 101001 11111 0 0000000000000 144668bb9b7SRichard Henderson 1455d617bfbSRichard Henderson{ 14625524734SRichard Henderson WRPSR 10 00000 110001 ..... . ............. @n_r_ri 14725524734SRichard Henderson SAVED 10 00000 110001 00000 0 0000000000000 14825524734SRichard Henderson} 14925524734SRichard HendersonRESTORED 10 00001 110001 00000 0 0000000000000 15025524734SRichard Henderson# UA2005 ALLCLEAN 15125524734SRichard Henderson# UA2005 OTHERW 15225524734SRichard Henderson# UA2005 NORMALW 15325524734SRichard Henderson# UA2005 INVALW 15425524734SRichard Henderson 15525524734SRichard Henderson{ 1565d617bfbSRichard Henderson RDWIM 10 rd:5 101010 00000 0 0000000000000 1575d617bfbSRichard Henderson RDPR_tpc 10 rd:5 101010 00000 0 0000000000000 1585d617bfbSRichard Henderson} 1595d617bfbSRichard HendersonRDPR_tnpc 10 rd:5 101010 00001 0 0000000000000 1605d617bfbSRichard HendersonRDPR_tstate 10 rd:5 101010 00010 0 0000000000000 1615d617bfbSRichard HendersonRDPR_tt 10 rd:5 101010 00011 0 0000000000000 1625d617bfbSRichard HendersonRDPR_tick 10 rd:5 101010 00100 0 0000000000000 1635d617bfbSRichard HendersonRDPR_tba 10 rd:5 101010 00101 0 0000000000000 1645d617bfbSRichard HendersonRDPR_pstate 10 rd:5 101010 00110 0 0000000000000 1655d617bfbSRichard HendersonRDPR_tl 10 rd:5 101010 00111 0 0000000000000 1665d617bfbSRichard HendersonRDPR_pil 10 rd:5 101010 01000 0 0000000000000 1675d617bfbSRichard HendersonRDPR_cwp 10 rd:5 101010 01001 0 0000000000000 1685d617bfbSRichard HendersonRDPR_cansave 10 rd:5 101010 01010 0 0000000000000 1695d617bfbSRichard HendersonRDPR_canrestore 10 rd:5 101010 01011 0 0000000000000 1705d617bfbSRichard HendersonRDPR_cleanwin 10 rd:5 101010 01100 0 0000000000000 1715d617bfbSRichard HendersonRDPR_otherwin 10 rd:5 101010 01101 0 0000000000000 1725d617bfbSRichard HendersonRDPR_wstate 10 rd:5 101010 01110 0 0000000000000 1735d617bfbSRichard HendersonRDPR_gl 10 rd:5 101010 10000 0 0000000000000 1745d617bfbSRichard HendersonRDPR_strand_status 10 rd:5 101010 11010 0 0000000000000 1755d617bfbSRichard HendersonRDPR_ver 10 rd:5 101010 11111 0 0000000000000 1765d617bfbSRichard Henderson 177e8325dc0SRichard Henderson{ 1789422278eSRichard Henderson WRWIM 10 00000 110010 ..... . ............. @n_r_ri 1799422278eSRichard Henderson WRPR_tpc 10 00000 110010 ..... . ............. @n_r_ri 1809422278eSRichard Henderson} 1819422278eSRichard HendersonWRPR_tnpc 10 00001 110010 ..... . ............. @n_r_ri 1829422278eSRichard HendersonWRPR_tstate 10 00010 110010 ..... . ............. @n_r_ri 1839422278eSRichard HendersonWRPR_tt 10 00011 110010 ..... . ............. @n_r_ri 1849422278eSRichard HendersonWRPR_tick 10 00100 110010 ..... . ............. @n_r_ri 1859422278eSRichard HendersonWRPR_tba 10 00101 110010 ..... . ............. @n_r_ri 1869422278eSRichard HendersonWRPR_pstate 10 00110 110010 ..... . ............. @n_r_ri 1879422278eSRichard HendersonWRPR_tl 10 00111 110010 ..... . ............. @n_r_ri 1889422278eSRichard HendersonWRPR_pil 10 01000 110010 ..... . ............. @n_r_ri 1899422278eSRichard HendersonWRPR_cwp 10 01001 110010 ..... . ............. @n_r_ri 1909422278eSRichard HendersonWRPR_cansave 10 01010 110010 ..... . ............. @n_r_ri 1919422278eSRichard HendersonWRPR_canrestore 10 01011 110010 ..... . ............. @n_r_ri 1929422278eSRichard HendersonWRPR_cleanwin 10 01100 110010 ..... . ............. @n_r_ri 1939422278eSRichard HendersonWRPR_otherwin 10 01101 110010 ..... . ............. @n_r_ri 1949422278eSRichard HendersonWRPR_wstate 10 01110 110010 ..... . ............. @n_r_ri 1959422278eSRichard HendersonWRPR_gl 10 10000 110010 ..... . ............. @n_r_ri 1969422278eSRichard HendersonWRPR_strand_status 10 11010 110010 ..... . ............. @n_r_ri 1979422278eSRichard Henderson 1989422278eSRichard Henderson{ 199e8325dc0SRichard Henderson FLUSHW 10 00000 101011 00000 0 0000000000000 200e8325dc0SRichard Henderson RDTBR 10 rd:5 101011 00000 0 0000000000000 201e8325dc0SRichard Henderson} 202e8325dc0SRichard Henderson 203bb97f2f5SRichard Henderson{ 204bb97f2f5SRichard Henderson WRTBR 10 00000 110011 ..... . ............. @n_r_ri 205bb97f2f5SRichard Henderson WRHPR_hpstate 10 00000 110011 ..... . ............. @n_r_ri 206bb97f2f5SRichard Henderson} 207bb97f2f5SRichard HendersonWRHPR_htstate 10 00001 110011 ..... . ............. @n_r_ri 208bb97f2f5SRichard HendersonWRHPR_hintp 10 00011 110011 ..... . ............. @n_r_ri 209bb97f2f5SRichard HendersonWRHPR_htba 10 00101 110011 ..... . ............. @n_r_ri 210bb97f2f5SRichard HendersonWRHPR_hstick_cmpr 10 11111 110011 ..... . ............. @n_r_ri 211bb97f2f5SRichard Henderson 212428881deSRichard HendersonADD 10 ..... 0.0000 ..... . ............. @r_r_ri_cc 213428881deSRichard HendersonAND 10 ..... 0.0001 ..... . ............. @r_r_ri_cc 214428881deSRichard HendersonOR 10 ..... 0.0010 ..... . ............. @r_r_ri_cc 215428881deSRichard HendersonXOR 10 ..... 0.0011 ..... . ............. @r_r_ri_cc 216428881deSRichard HendersonSUB 10 ..... 0.0100 ..... . ............. @r_r_ri_cc 217428881deSRichard HendersonANDN 10 ..... 0.0101 ..... . ............. @r_r_ri_cc 218428881deSRichard HendersonORN 10 ..... 0.0110 ..... . ............. @r_r_ri_cc 219428881deSRichard HendersonXORN 10 ..... 0.0111 ..... . ............. @r_r_ri_cc 220420a187dSRichard HendersonADDC 10 ..... 0.1000 ..... . ............. @r_r_ri_cc 221dfebb950SRichard HendersonSUBC 10 ..... 0.1100 ..... . ............. @r_r_ri_cc 222428881deSRichard Henderson 22322188d7dSRichard HendersonMULX 10 ..... 001001 ..... . ............. @r_r_ri_cc0 224b5372650SRichard HendersonUMUL 10 ..... 0.1010 ..... . ............. @r_r_ri_cc 225b5372650SRichard HendersonSMUL 10 ..... 0.1011 ..... . ............. @r_r_ri_cc 226a9aba13dSRichard HendersonMULScc 10 ..... 100100 ..... . ............. @r_r_ri_cc1 22722188d7dSRichard Henderson 228f3141174SRichard HendersonUDIVX 10 ..... 001101 ..... . ............. @r_r_ri 229f3141174SRichard HendersonSDIVX 10 ..... 101101 ..... . ............. @r_r_ri 2303a6b8de3SRichard HendersonUDIV 10 ..... 001110 ..... . ............. @r_r_ri 2313a6b8de3SRichard HendersonUDIVcc 10 ..... 011110 ..... . ............. @r_r_ri_cc1 232c2636853SRichard HendersonSDIV 10 ..... 0.1111 ..... . ............. @r_r_ri_cc 2334ee85ea9SRichard Henderson 234a9aba13dSRichard HendersonTADDcc 10 ..... 100000 ..... . ............. @r_r_ri_cc1 235a9aba13dSRichard HendersonTSUBcc 10 ..... 100001 ..... . ............. @r_r_ri_cc1 236a9aba13dSRichard HendersonTADDccTV 10 ..... 100010 ..... . ............. @r_r_ri_cc1 237a9aba13dSRichard HendersonTSUBccTV 10 ..... 100011 ..... . ............. @r_r_ri_cc1 238a9aba13dSRichard Henderson 2399c6ec5bcSRichard HendersonPOPC 10 rd:5 101110 00000 imm:1 rs2_or_imm:s13 \ 2409c6ec5bcSRichard Henderson &r_r_ri_cc rs1=0 cc=0 2419c6ec5bcSRichard Henderson 2425fc546eeSRichard Henderson&shiftr rd rs1 rs2 x:bool 2435fc546eeSRichard Henderson@shiftr .. rd:5 ...... rs1:5 . x:1 ....... rs2:5 &shiftr 2445fc546eeSRichard Henderson 2455fc546eeSRichard HendersonSLL_r 10 ..... 100101 ..... 0 . 0000000 ..... @shiftr 2465fc546eeSRichard HendersonSRL_r 10 ..... 100110 ..... 0 . 0000000 ..... @shiftr 2475fc546eeSRichard HendersonSRA_r 10 ..... 100111 ..... 0 . 0000000 ..... @shiftr 2485fc546eeSRichard Henderson 2495fc546eeSRichard Henderson&shifti rd rs1 i x:bool 2505fc546eeSRichard Henderson@shifti .. rd:5 ...... rs1:5 . x:1 ...... i:6 &shifti 2515fc546eeSRichard Henderson 2525fc546eeSRichard HendersonSLL_i 10 ..... 100101 ..... 1 . 000000 ...... @shifti 2535fc546eeSRichard HendersonSRL_i 10 ..... 100110 ..... 1 . 000000 ...... @shifti 2545fc546eeSRichard HendersonSRA_i 10 ..... 100111 ..... 1 . 000000 ...... @shifti 2555fc546eeSRichard Henderson 25630376636SRichard HendersonTcc_r 10 0 cond:4 111010 rs1:5 0 cc:1 0000000 rs2:5 25730376636SRichard Henderson{ 25830376636SRichard Henderson # For v7, the entire simm13 field is present, but masked to 7 bits. 25930376636SRichard Henderson # For v8, [12:7] are reserved. However, a compatibility note for 26030376636SRichard Henderson # the Tcc insn in the v9 manual suggests that the v8 reserved field 26130376636SRichard Henderson # was ignored and did not produce traps. 26230376636SRichard Henderson Tcc_i_v7 10 0 cond:4 111010 rs1:5 1 ------ i:7 26330376636SRichard Henderson 26430376636SRichard Henderson # For v9, bits [12:11] are cc1 and cc0 (and cc0 must be 0). 26530376636SRichard Henderson # Bits [10:8] are reserved and the OSA2011 manual says they must be 0. 26630376636SRichard Henderson Tcc_i_v9 10 0 cond:4 111010 rs1:5 1 cc:1 0 000 i:8 26730376636SRichard Henderson} 268fb4ed7aaSRichard Henderson 269fb4ed7aaSRichard HendersonMOVcc 10 rd:5 101100 1 cond:4 imm:1 cc:1 0 rs2_or_imm:s11 270fb4ed7aaSRichard HendersonMOVfcc 10 rd:5 101100 0 cond:4 imm:1 cc:2 rs2_or_imm:s11 271fb4ed7aaSRichard HendersonMOVR 10 rd:5 101111 rs1:5 imm:1 cond:3 rs2_or_imm:s10 272d3c7e8adSRichard Henderson 27386b82fe0SRichard HendersonJMPL 10 ..... 111000 ..... . ............. @r_r_ri 27486b82fe0SRichard Henderson{ 27586b82fe0SRichard Henderson RETT 10 00000 111001 ..... . ............. @n_r_ri 27686b82fe0SRichard Henderson RETURN 10 00000 111001 ..... . ............. @n_r_ri 27786b82fe0SRichard Henderson} 278d3825800SRichard HendersonNOP 10 00000 111011 ----- 0 00000000----- # FLUSH reg+reg 279d3825800SRichard HendersonNOP 10 00000 111011 ----- 1 ------------- # FLUSH reg+imm 280d3825800SRichard HendersonSAVE 10 ..... 111100 ..... . ............. @r_r_ri 281d3825800SRichard HendersonRESTORE 10 ..... 111101 ..... . ............. @r_r_ri 28286b82fe0SRichard Henderson 2838f75b8a4SRichard HendersonDONE 10 00000 111110 00000 0 0000000000000 2848f75b8a4SRichard HendersonRETRY 10 00001 111110 00000 0 0000000000000 2858f75b8a4SRichard Henderson 286baf3dbf2SRichard HendersonFMOVs 10 ..... 110100 00000 0 0000 0001 ..... @r_r2 2870bba7572SRichard HendersonFMOVd 10 ..... 110100 00000 0 0000 0010 ..... @d_d2 2880bba7572SRichard HendersonFMOVq 10 ..... 110100 00000 0 0000 0011 ..... @q_q2 289baf3dbf2SRichard HendersonFNEGs 10 ..... 110100 00000 0 0000 0101 ..... @r_r2 2900bba7572SRichard HendersonFNEGd 10 ..... 110100 00000 0 0000 0110 ..... @d_d2 2910bba7572SRichard HendersonFNEGq 10 ..... 110100 00000 0 0000 0111 ..... @q_q2 292baf3dbf2SRichard HendersonFABSs 10 ..... 110100 00000 0 0000 1001 ..... @r_r2 2930bba7572SRichard HendersonFABSd 10 ..... 110100 00000 0 0000 1010 ..... @d_d2 2940bba7572SRichard HendersonFABSq 10 ..... 110100 00000 0 0000 1011 ..... @q_q2 295119cb94fSRichard HendersonFSQRTs 10 ..... 110100 00000 0 0010 1001 ..... @r_r2 2960bba7572SRichard HendersonFSQRTd 10 ..... 110100 00000 0 0010 1010 ..... @d_d2 2970bba7572SRichard HendersonFSQRTq 10 ..... 110100 00000 0 0010 1011 ..... @q_q2 298c1514961SRichard HendersonFADDs 10 ..... 110100 ..... 0 0100 0001 ..... @r_r_r 2990bba7572SRichard HendersonFADDd 10 ..... 110100 ..... 0 0100 0010 ..... @d_d_d 3000bba7572SRichard HendersonFADDq 10 ..... 110100 ..... 0 0100 0011 ..... @q_q_q 301c1514961SRichard HendersonFSUBs 10 ..... 110100 ..... 0 0100 0101 ..... @r_r_r 3020bba7572SRichard HendersonFSUBd 10 ..... 110100 ..... 0 0100 0110 ..... @d_d_d 3030bba7572SRichard HendersonFSUBq 10 ..... 110100 ..... 0 0100 0111 ..... @q_q_q 304c1514961SRichard HendersonFMULs 10 ..... 110100 ..... 0 0100 1001 ..... @r_r_r 3050bba7572SRichard HendersonFMULd 10 ..... 110100 ..... 0 0100 1010 ..... @d_d_d 3060bba7572SRichard HendersonFMULq 10 ..... 110100 ..... 0 0100 1011 ..... @q_q_q 307c1514961SRichard HendersonFDIVs 10 ..... 110100 ..... 0 0100 1101 ..... @r_r_r 3080bba7572SRichard HendersonFDIVd 10 ..... 110100 ..... 0 0100 1110 ..... @d_d_d 3090bba7572SRichard HendersonFDIVq 10 ..... 110100 ..... 0 0100 1111 ..... @q_q_q 3103d50b728SRichard HendersonFNADDs 10 ..... 110100 ..... 0 0101 0001 ..... @r_r_r 3113d50b728SRichard HendersonFNADDd 10 ..... 110100 ..... 0 0101 0010 ..... @d_d_d 3123d50b728SRichard HendersonFNMULs 10 ..... 110100 ..... 0 0101 1001 ..... @r_r_r 3133d50b728SRichard HendersonFNMULd 10 ..... 110100 ..... 0 0101 1010 ..... @d_d_d 3143d50b728SRichard HendersonFHADDs 10 ..... 110100 ..... 0 0110 0001 ..... @r_r_r 3153d50b728SRichard HendersonFHADDd 10 ..... 110100 ..... 0 0110 0010 ..... @d_d_d 3163d50b728SRichard HendersonFHSUBs 10 ..... 110100 ..... 0 0110 0101 ..... @r_r_r 3173d50b728SRichard HendersonFHSUBd 10 ..... 110100 ..... 0 0110 0110 ..... @d_d_d 3180bba7572SRichard HendersonFsMULd 10 ..... 110100 ..... 0 0110 1001 ..... @d_r_r 3190bba7572SRichard HendersonFdMULq 10 ..... 110100 ..... 0 0110 1110 ..... @q_d_d 3203d50b728SRichard HendersonFNHADDs 10 ..... 110100 ..... 0 0111 0001 ..... @r_r_r 3213d50b728SRichard HendersonFNHADDd 10 ..... 110100 ..... 0 0111 0010 ..... @d_d_d 3223d50b728SRichard HendersonFNsMULd 10 ..... 110100 ..... 0 0111 1001 ..... @d_r_r 323199d43efSRichard HendersonFsTOx 10 ..... 110100 00000 0 1000 0001 ..... @r_r2 3240bba7572SRichard HendersonFdTOx 10 ..... 110100 00000 0 1000 0010 ..... @r_d2 3250bba7572SRichard HendersonFqTOx 10 ..... 110100 00000 0 1000 0011 ..... @r_q2 3268c94bcd8SRichard HendersonFxTOs 10 ..... 110100 00000 0 1000 0100 ..... @r_r2 3270bba7572SRichard HendersonFxTOd 10 ..... 110100 00000 0 1000 1000 ..... @d_r2 3280bba7572SRichard HendersonFxTOq 10 ..... 110100 00000 0 1000 1100 ..... @q_r2 329119cb94fSRichard HendersonFiTOs 10 ..... 110100 00000 0 1100 0100 ..... @r_r2 3300bba7572SRichard HendersonFdTOs 10 ..... 110100 00000 0 1100 0110 ..... @r_d2 3310bba7572SRichard HendersonFqTOs 10 ..... 110100 00000 0 1100 0111 ..... @r_q2 3320bba7572SRichard HendersonFiTOd 10 ..... 110100 00000 0 1100 1000 ..... @d_r2 3330bba7572SRichard HendersonFsTOd 10 ..... 110100 00000 0 1100 1001 ..... @d_r2 3340bba7572SRichard HendersonFqTOd 10 ..... 110100 00000 0 1100 1011 ..... @d_q2 3350bba7572SRichard HendersonFiTOq 10 ..... 110100 00000 0 1100 1100 ..... @q_r2 3360bba7572SRichard HendersonFsTOq 10 ..... 110100 00000 0 1100 1101 ..... @q_r2 3370bba7572SRichard HendersonFdTOq 10 ..... 110100 00000 0 1100 1110 ..... @q_d2 338119cb94fSRichard HendersonFsTOi 10 ..... 110100 00000 0 1101 0001 ..... @r_r2 3390bba7572SRichard HendersonFdTOi 10 ..... 110100 00000 0 1101 0010 ..... @r_d2 3400bba7572SRichard HendersonFqTOi 10 ..... 110100 00000 0 1101 0011 ..... @r_q2 341baf3dbf2SRichard Henderson 342f7ec8155SRichard HendersonFMOVscc 10 rd:5 110101 0 cond:4 1 cc:1 0 000001 rs2:5 3430bba7572SRichard HendersonFMOVdcc 10 ..... 110101 0 cond:4 1 cc:1 0 000010 ..... \ 3440bba7572SRichard Henderson rd=%dfp_rd rs2=%dfp_rs2 3450bba7572SRichard HendersonFMOVqcc 10 ..... 110101 0 cond:4 1 cc:1 0 000011 ..... \ 3460bba7572SRichard Henderson rd=%qfp_rd rs2=%qfp_rs2 347f7ec8155SRichard Henderson 348f7ec8155SRichard HendersonFMOVsfcc 10 rd:5 110101 0 cond:4 0 cc:2 000001 rs2:5 3490bba7572SRichard HendersonFMOVdfcc 10 ..... 110101 0 cond:4 0 cc:2 000010 ..... \ 3500bba7572SRichard Henderson rd=%dfp_rd rs2=%dfp_rs2 3510bba7572SRichard HendersonFMOVqfcc 10 ..... 110101 0 cond:4 0 cc:2 000011 ..... \ 3520bba7572SRichard Henderson rd=%qfp_rd rs2=%qfp_rs2 353f7ec8155SRichard Henderson 354f7ec8155SRichard HendersonFMOVRs 10 rd:5 110101 rs1:5 0 cond:3 00101 rs2:5 3550bba7572SRichard HendersonFMOVRd 10 ..... 110101 rs1:5 0 cond:3 00110 ..... \ 3560bba7572SRichard Henderson rd=%dfp_rd rs2=%dfp_rs2 3570bba7572SRichard HendersonFMOVRq 10 ..... 110101 rs1:5 0 cond:3 00111 ..... \ 3580bba7572SRichard Henderson rd=%qfp_rd rs2=%qfp_rs2 359f7ec8155SRichard Henderson 36040f9ad21SRichard HendersonFCMPs 10 000 cc:2 110101 rs1:5 0 0101 0001 rs2:5 3610bba7572SRichard HendersonFCMPd 10 000 cc:2 110101 ..... 0 0101 0010 ..... \ 3620bba7572SRichard Henderson rs1=%dfp_rs1 rs2=%dfp_rs2 3630bba7572SRichard HendersonFCMPq 10 000 cc:2 110101 ..... 0 0101 0011 ..... \ 3640bba7572SRichard Henderson rs1=%qfp_rs1 rs2=%qfp_rs2 36540f9ad21SRichard HendersonFCMPEs 10 000 cc:2 110101 rs1:5 0 0101 0101 rs2:5 3660bba7572SRichard HendersonFCMPEd 10 000 cc:2 110101 ..... 0 0101 0110 ..... \ 3670bba7572SRichard Henderson rs1=%dfp_rs1 rs2=%dfp_rs2 3680bba7572SRichard HendersonFCMPEq 10 000 cc:2 110101 ..... 0 0101 0111 ..... \ 3690bba7572SRichard Henderson rs1=%qfp_rs1 rs2=%qfp_rs2 37040f9ad21SRichard Henderson 371b88ce6f2SRichard Henderson{ 372b88ce6f2SRichard Henderson [ 373b88ce6f2SRichard Henderson EDGE8cc 10 ..... 110110 ..... 0 0000 0000 ..... @r_r_r 374b88ce6f2SRichard Henderson EDGE8N 10 ..... 110110 ..... 0 0000 0001 ..... @r_r_r 375b88ce6f2SRichard Henderson EDGE8Lcc 10 ..... 110110 ..... 0 0000 0010 ..... @r_r_r 376b88ce6f2SRichard Henderson EDGE8LN 10 ..... 110110 ..... 0 0000 0011 ..... @r_r_r 377b88ce6f2SRichard Henderson EDGE16cc 10 ..... 110110 ..... 0 0000 0100 ..... @r_r_r 378b88ce6f2SRichard Henderson EDGE16N 10 ..... 110110 ..... 0 0000 0101 ..... @r_r_r 379b88ce6f2SRichard Henderson EDGE16Lcc 10 ..... 110110 ..... 0 0000 0110 ..... @r_r_r 380b88ce6f2SRichard Henderson EDGE16LN 10 ..... 110110 ..... 0 0000 0111 ..... @r_r_r 381b88ce6f2SRichard Henderson EDGE32cc 10 ..... 110110 ..... 0 0000 1000 ..... @r_r_r 382b88ce6f2SRichard Henderson EDGE32N 10 ..... 110110 ..... 0 0000 1001 ..... @r_r_r 383b88ce6f2SRichard Henderson EDGE32Lcc 10 ..... 110110 ..... 0 0000 1010 ..... @r_r_r 384b88ce6f2SRichard Henderson EDGE32LN 10 ..... 110110 ..... 0 0000 1011 ..... @r_r_r 38545bfed3bSRichard Henderson 38645bfed3bSRichard Henderson ARRAY8 10 ..... 110110 ..... 0 0001 0000 ..... @r_r_r 38745bfed3bSRichard Henderson ARRAY16 10 ..... 110110 ..... 0 0001 0010 ..... @r_r_r 38845bfed3bSRichard Henderson ARRAY32 10 ..... 110110 ..... 0 0001 0100 ..... @r_r_r 3899e20ca94SRichard Henderson 390015fc6fcSRichard Henderson ADDXC 10 ..... 110110 ..... 0 0001 0001 ..... @r_r_r 391015fc6fcSRichard Henderson ADDXCcc 10 ..... 110110 ..... 0 0001 0011 ..... @r_r_r 392015fc6fcSRichard Henderson 3939e20ca94SRichard Henderson ALIGNADDR 10 ..... 110110 ..... 0 0001 1000 ..... @r_r_r 3949e20ca94SRichard Henderson ALIGNADDRL 10 ..... 110110 ..... 0 0001 1010 ..... @r_r_r 39539ca3490SRichard Henderson 39639ca3490SRichard Henderson BMASK 10 ..... 110110 ..... 0 0001 1001 ..... @r_r_r 397baf3dbf2SRichard Henderson 398c973b4e8SRichard Henderson CMASK8 10 00000 110110 00000 0 0001 1011 rs2:5 399c973b4e8SRichard Henderson CMASK16 10 00000 110110 00000 0 0001 1101 rs2:5 400c973b4e8SRichard Henderson CMASK32 10 00000 110110 00000 0 0001 1111 rs2:5 401c973b4e8SRichard Henderson 4020bba7572SRichard Henderson FPCMPLE16 10 ..... 110110 ..... 0 0010 0000 ..... @r_d_d 4030bba7572SRichard Henderson FPCMPNE16 10 ..... 110110 ..... 0 0010 0010 ..... @r_d_d 4040bba7572SRichard Henderson FPCMPGT16 10 ..... 110110 ..... 0 0010 1000 ..... @r_d_d 4050bba7572SRichard Henderson FPCMPEQ16 10 ..... 110110 ..... 0 0010 1010 ..... @r_d_d 4060bba7572SRichard Henderson FPCMPLE32 10 ..... 110110 ..... 0 0010 0100 ..... @r_d_d 4070bba7572SRichard Henderson FPCMPNE32 10 ..... 110110 ..... 0 0010 0110 ..... @r_d_d 4080bba7572SRichard Henderson FPCMPGT32 10 ..... 110110 ..... 0 0010 1100 ..... @r_d_d 4090bba7572SRichard Henderson FPCMPEQ32 10 ..... 110110 ..... 0 0010 1110 ..... @r_d_d 410e2fa6bd1SRichard Henderson 4110bba7572SRichard Henderson FMUL8x16 10 ..... 110110 ..... 0 0011 0001 ..... @d_r_d 4120bba7572SRichard Henderson FMUL8x16AU 10 ..... 110110 ..... 0 0011 0011 ..... @d_r_r 4130bba7572SRichard Henderson FMUL8x16AL 10 ..... 110110 ..... 0 0011 0101 ..... @d_r_r 4140bba7572SRichard Henderson FMUL8SUx16 10 ..... 110110 ..... 0 0011 0110 ..... @d_d_d 4150bba7572SRichard Henderson FMUL8ULx16 10 ..... 110110 ..... 0 0011 0111 ..... @d_d_d 4160bba7572SRichard Henderson FMULD8SUx16 10 ..... 110110 ..... 0 0011 1000 ..... @d_r_r 4170bba7572SRichard Henderson FMULD8ULx16 10 ..... 110110 ..... 0 0011 1001 ..... @d_r_r 4180bba7572SRichard Henderson FPACK32 10 ..... 110110 ..... 0 0011 1010 ..... @d_d_d 4190bba7572SRichard Henderson FPACK16 10 ..... 110110 00000 0 0011 1011 ..... @r_d2 4200bba7572SRichard Henderson FPACKFIX 10 ..... 110110 00000 0 0011 1101 ..... @r_d2 4214fd71d19SRichard Henderson PDIST 10 ..... 110110 ..... 0 0011 1110 ..... \ 4224fd71d19SRichard Henderson &r_r_r_r rd=%dfp_rd rs1=%dfp_rd rs2=%dfp_rs1 rs3=%dfp_rs2 423e06c9f83SRichard Henderson 424*d6ff1ccbSRichard Henderson FMEAN16 10 ..... 110110 ..... 0 0100 0000 ..... @d_d_d 4257837185eSRichard Henderson FCHKSM16 10 ..... 110110 ..... 0 0100 0100 ..... @d_d_d 4260bba7572SRichard Henderson FALIGNDATAg 10 ..... 110110 ..... 0 0100 1000 ..... @d_d_d 4270bba7572SRichard Henderson FPMERGE 10 ..... 110110 ..... 0 0100 1011 ..... @d_r_r 4280bba7572SRichard Henderson BSHUFFLE 10 ..... 110110 ..... 0 0100 1100 ..... @d_d_d 4290bba7572SRichard Henderson FEXPAND 10 ..... 110110 00000 0 0100 1101 ..... @d_r2 430e06c9f83SRichard Henderson 4310bba7572SRichard Henderson FSRCd 10 ..... 110110 ..... 0 0111 0100 00000 @d_d1 # FSRC1d 432baf3dbf2SRichard Henderson FSRCs 10 ..... 110110 ..... 0 0111 0101 00000 @r_r1 # FSRC1s 4330bba7572SRichard Henderson FSRCd 10 ..... 110110 00000 0 0111 1000 ..... @d_d2 # FSRC2d 434baf3dbf2SRichard Henderson FSRCs 10 ..... 110110 00000 0 0111 1001 ..... @r_r2 # FSRC2s 4350bba7572SRichard Henderson FNOTd 10 ..... 110110 ..... 0 0110 1010 00000 @d_d1 # FNOT1d 436baf3dbf2SRichard Henderson FNOTs 10 ..... 110110 ..... 0 0110 1011 00000 @r_r1 # FNOT1s 4370bba7572SRichard Henderson FNOTd 10 ..... 110110 00000 0 0110 0110 ..... @d_d2 # FNOT2d 438baf3dbf2SRichard Henderson FNOTs 10 ..... 110110 00000 0 0110 0111 ..... @r_r2 # FNOT2s 4397f10b52fSRichard Henderson 4400bba7572SRichard Henderson FPADD16 10 ..... 110110 ..... 0 0101 0000 ..... @d_d_d 4417f10b52fSRichard Henderson FPADD16s 10 ..... 110110 ..... 0 0101 0001 ..... @r_r_r 4420bba7572SRichard Henderson FPADD32 10 ..... 110110 ..... 0 0101 0010 ..... @d_d_d 4437f10b52fSRichard Henderson FPADD32s 10 ..... 110110 ..... 0 0101 0011 ..... @r_r_r 4440bba7572SRichard Henderson FPSUB16 10 ..... 110110 ..... 0 0101 0100 ..... @d_d_d 4457f10b52fSRichard Henderson FPSUB16s 10 ..... 110110 ..... 0 0101 0101 ..... @r_r_r 4460bba7572SRichard Henderson FPSUB32 10 ..... 110110 ..... 0 0101 0110 ..... @d_d_d 4477f10b52fSRichard Henderson FPSUB32s 10 ..... 110110 ..... 0 0101 0111 ..... @r_r_r 448e06c9f83SRichard Henderson 4490bba7572SRichard Henderson FNORd 10 ..... 110110 ..... 0 0110 0010 ..... @d_d_d 4507f10b52fSRichard Henderson FNORs 10 ..... 110110 ..... 0 0110 0011 ..... @r_r_r 4510bba7572SRichard Henderson FANDNOTd 10 ..... 110110 ..... 0 0110 0100 ..... @d_d_d # FANDNOT2d 4527f10b52fSRichard Henderson FANDNOTs 10 ..... 110110 ..... 0 0110 0101 ..... @r_r_r # FANDNOT2s 4530bba7572SRichard Henderson FANDNOTd 10 ..... 110110 ..... 0 0110 1000 ..... @d_d_d_swap # ... 1d 4547f10b52fSRichard Henderson FANDNOTs 10 ..... 110110 ..... 0 0110 1001 ..... @r_r_r_swap # ... 1s 4550bba7572SRichard Henderson FXORd 10 ..... 110110 ..... 0 0110 1100 ..... @d_d_d 4567f10b52fSRichard Henderson FXORs 10 ..... 110110 ..... 0 0110 1101 ..... @r_r_r 4570bba7572SRichard Henderson FNANDd 10 ..... 110110 ..... 0 0110 1110 ..... @d_d_d 4587f10b52fSRichard Henderson FNANDs 10 ..... 110110 ..... 0 0110 1111 ..... @r_r_r 4590bba7572SRichard Henderson FANDd 10 ..... 110110 ..... 0 0111 0000 ..... @d_d_d 4607f10b52fSRichard Henderson FANDs 10 ..... 110110 ..... 0 0111 0001 ..... @r_r_r 4610bba7572SRichard Henderson FXNORd 10 ..... 110110 ..... 0 0111 0010 ..... @d_d_d 4627f10b52fSRichard Henderson FXNORs 10 ..... 110110 ..... 0 0111 0011 ..... @r_r_r 4630bba7572SRichard Henderson FORNOTd 10 ..... 110110 ..... 0 0111 0110 ..... @d_d_d # FORNOT2d 4647f10b52fSRichard Henderson FORNOTs 10 ..... 110110 ..... 0 0111 0111 ..... @r_r_r # FORNOT2s 4650bba7572SRichard Henderson FORNOTd 10 ..... 110110 ..... 0 0111 1010 ..... @d_d_d_swap # ... 1d 4667f10b52fSRichard Henderson FORNOTs 10 ..... 110110 ..... 0 0111 1011 ..... @r_r_r_swap # ... 1s 4670bba7572SRichard Henderson FORd 10 ..... 110110 ..... 0 0111 1100 ..... @d_d_d 4687f10b52fSRichard Henderson FORs 10 ..... 110110 ..... 0 0111 1101 ..... @r_r_r 4693a38260eSRichard Henderson 4700bba7572SRichard Henderson FZEROd 10 ..... 110110 00000 0 0110 0000 00000 rd=%dfp_rd 4713a38260eSRichard Henderson FZEROs 10 rd:5 110110 00000 0 0110 0001 00000 4720bba7572SRichard Henderson FONEd 10 ..... 110110 00000 0 0111 1110 00000 rd=%dfp_rd 4733a38260eSRichard Henderson FONEs 10 rd:5 110110 00000 0 0111 1111 00000 4741d3ed3d7SRichard Henderson 4751d3ed3d7SRichard Henderson FLCMPs 10 000 cc:2 110110 rs1:5 1 0101 0001 rs2:5 4761d3ed3d7SRichard Henderson FLCMPd 10 000 cc:2 110110 ..... 1 0101 0010 ..... \ 4771d3ed3d7SRichard Henderson rs1=%dfp_rs1 rs2=%dfp_rs2 478b88ce6f2SRichard Henderson ] 4795458fd31SRichard Henderson NCP 10 ----- 110110 ----- --------- ----- # v8 CPop1 480b88ce6f2SRichard Henderson} 481b88ce6f2SRichard Henderson 4824fd71d19SRichard Henderson{ 4834fd71d19SRichard Henderson [ 4844fd71d19SRichard Henderson FMADDs 10 ..... 110111 ..... ..... 0001 ..... @r_r_r_r 4854fd71d19SRichard Henderson FMADDd 10 ..... 110111 ..... ..... 0010 ..... @d_d_d_d 4864fd71d19SRichard Henderson FMSUBs 10 ..... 110111 ..... ..... 0101 ..... @r_r_r_r 4874fd71d19SRichard Henderson FMSUBd 10 ..... 110111 ..... ..... 0110 ..... @d_d_d_d 4884fd71d19SRichard Henderson FNMSUBs 10 ..... 110111 ..... ..... 1001 ..... @r_r_r_r 4894fd71d19SRichard Henderson FNMSUBd 10 ..... 110111 ..... ..... 1010 ..... @d_d_d_d 4904fd71d19SRichard Henderson FNMADDs 10 ..... 110111 ..... ..... 1101 ..... @r_r_r_r 4914fd71d19SRichard Henderson FNMADDd 10 ..... 110111 ..... ..... 1110 ..... @d_d_d_d 4924fd71d19SRichard Henderson ] 4935458fd31SRichard Henderson NCP 10 ----- 110111 ----- --------- ----- # v8 CPop2 4944fd71d19SRichard Henderson} 4955458fd31SRichard Henderson 4960880d20bSRichard Henderson## 4970880d20bSRichard Henderson## Major Opcode 11 -- load and store instructions 4980880d20bSRichard Henderson## 4990880d20bSRichard Henderson 5000880d20bSRichard Henderson&r_r_ri_asi rd rs1 rs2_or_imm asi imm:bool 5010880d20bSRichard Henderson@r_r_ri_na .. rd:5 ...... rs1:5 imm:1 rs2_or_imm:s13 &r_r_ri_asi asi=-1 50206c060d9SRichard Henderson@d_r_ri_na .. ..... ...... rs1:5 imm:1 rs2_or_imm:s13 \ 50306c060d9SRichard Henderson &r_r_ri_asi rd=%dfp_rd asi=-1 50406c060d9SRichard Henderson@q_r_ri_na .. ..... ...... rs1:5 imm:1 rs2_or_imm:s13 \ 50506c060d9SRichard Henderson &r_r_ri_asi rd=%qfp_rd asi=-1 50606c060d9SRichard Henderson 50742071fc1SRichard Henderson@r_r_r_asi .. rd:5 ...... rs1:5 0 asi:8 rs2_or_imm:5 &r_r_ri_asi imm=0 50842071fc1SRichard Henderson@r_r_i_asi .. rd:5 ...... rs1:5 1 rs2_or_imm:s13 \ 50942071fc1SRichard Henderson &r_r_ri_asi imm=1 asi=-2 510287b1152SRichard Henderson@d_r_r_asi .. ..... ...... rs1:5 0 asi:8 rs2_or_imm:5 \ 511287b1152SRichard Henderson &r_r_ri_asi rd=%dfp_rd imm=0 512287b1152SRichard Henderson@d_r_i_asi .. ..... ...... rs1:5 1 rs2_or_imm:s13 \ 513287b1152SRichard Henderson &r_r_ri_asi rd=%dfp_rd imm=1 asi=-2 514287b1152SRichard Henderson@q_r_r_asi .. ..... ...... rs1:5 0 asi:8 rs2_or_imm:5 \ 515287b1152SRichard Henderson &r_r_ri_asi rd=%qfp_rd imm=0 516287b1152SRichard Henderson@q_r_i_asi .. ..... ...... rs1:5 1 rs2_or_imm:s13 \ 517287b1152SRichard Henderson &r_r_ri_asi rd=%qfp_rd imm=1 asi=-2 518d0a11d25SRichard Henderson@casa_imm .. rd:5 ...... rs1:5 1 00000000 rs2_or_imm:5 \ 519d0a11d25SRichard Henderson &r_r_ri_asi imm=1 asi=-2 5200880d20bSRichard Henderson 5210880d20bSRichard HendersonLDUW 11 ..... 000000 ..... . ............. @r_r_ri_na 5220880d20bSRichard HendersonLDUB 11 ..... 000001 ..... . ............. @r_r_ri_na 5230880d20bSRichard HendersonLDUH 11 ..... 000010 ..... . ............. @r_r_ri_na 5240880d20bSRichard HendersonLDD 11 ..... 000011 ..... . ............. @r_r_ri_na 5250880d20bSRichard HendersonLDSW 11 ..... 001000 ..... . ............. @r_r_ri_na 5260880d20bSRichard HendersonLDSB 11 ..... 001001 ..... . ............. @r_r_ri_na 5270880d20bSRichard HendersonLDSH 11 ..... 001010 ..... . ............. @r_r_ri_na 5280880d20bSRichard HendersonLDX 11 ..... 001011 ..... . ............. @r_r_ri_na 5290880d20bSRichard Henderson 5300880d20bSRichard HendersonSTW 11 ..... 000100 ..... . ............. @r_r_ri_na 5310880d20bSRichard HendersonSTB 11 ..... 000101 ..... . ............. @r_r_ri_na 5320880d20bSRichard HendersonSTH 11 ..... 000110 ..... . ............. @r_r_ri_na 5330880d20bSRichard HendersonSTD 11 ..... 000111 ..... . ............. @r_r_ri_na 5340880d20bSRichard HendersonSTX 11 ..... 001110 ..... . ............. @r_r_ri_na 5350880d20bSRichard Henderson 53642071fc1SRichard HendersonLDUW 11 ..... 010000 ..... . ............. @r_r_r_asi # LDUWA 53742071fc1SRichard HendersonLDUW 11 ..... 010000 ..... . ............. @r_r_i_asi # LDUWA 53842071fc1SRichard HendersonLDUB 11 ..... 010001 ..... . ............. @r_r_r_asi # LDUBA 53942071fc1SRichard HendersonLDUB 11 ..... 010001 ..... . ............. @r_r_i_asi # LDUBA 54042071fc1SRichard HendersonLDUH 11 ..... 010010 ..... . ............. @r_r_r_asi # LDUHA 54142071fc1SRichard HendersonLDUH 11 ..... 010010 ..... . ............. @r_r_i_asi # LDUHA 54242071fc1SRichard HendersonLDD 11 ..... 010011 ..... . ............. @r_r_r_asi # LDDA 54342071fc1SRichard HendersonLDD 11 ..... 010011 ..... . ............. @r_r_i_asi # LDDA 54442071fc1SRichard HendersonLDX 11 ..... 011011 ..... . ............. @r_r_r_asi # LDXA 54542071fc1SRichard HendersonLDX 11 ..... 011011 ..... . ............. @r_r_i_asi # LDXA 54642071fc1SRichard HendersonLDSB 11 ..... 011001 ..... . ............. @r_r_r_asi # LDSBA 54742071fc1SRichard HendersonLDSB 11 ..... 011001 ..... . ............. @r_r_i_asi # LDSBA 54842071fc1SRichard HendersonLDSH 11 ..... 011010 ..... . ............. @r_r_r_asi # LDSHA 54942071fc1SRichard HendersonLDSH 11 ..... 011010 ..... . ............. @r_r_i_asi # LDSHA 55042071fc1SRichard HendersonLDSW 11 ..... 011000 ..... . ............. @r_r_r_asi # LDSWA 55142071fc1SRichard HendersonLDSW 11 ..... 011000 ..... . ............. @r_r_i_asi # LDSWA 55242071fc1SRichard Henderson 55342071fc1SRichard HendersonSTW 11 ..... 010100 ..... . ............. @r_r_r_asi # STWA 55442071fc1SRichard HendersonSTW 11 ..... 010100 ..... . ............. @r_r_i_asi # STWA 55542071fc1SRichard HendersonSTB 11 ..... 010101 ..... . ............. @r_r_r_asi # STBA 55642071fc1SRichard HendersonSTB 11 ..... 010101 ..... . ............. @r_r_i_asi # STBA 55742071fc1SRichard HendersonSTH 11 ..... 010110 ..... . ............. @r_r_r_asi # STHA 55842071fc1SRichard HendersonSTH 11 ..... 010110 ..... . ............. @r_r_i_asi # STHA 55942071fc1SRichard HendersonSTD 11 ..... 010111 ..... . ............. @r_r_r_asi # STDA 56042071fc1SRichard HendersonSTD 11 ..... 010111 ..... . ............. @r_r_i_asi # STDA 56142071fc1SRichard HendersonSTX 11 ..... 011110 ..... . ............. @r_r_r_asi # STXA 56242071fc1SRichard HendersonSTX 11 ..... 011110 ..... . ............. @r_r_i_asi # STXA 56342071fc1SRichard Henderson 56406c060d9SRichard HendersonLDF 11 ..... 100000 ..... . ............. @r_r_ri_na 5653d3c0673SRichard HendersonLDFSR 11 00000 100001 ..... . ............. @n_r_ri 5663d3c0673SRichard HendersonLDXFSR 11 00001 100001 ..... . ............. @n_r_ri 56706c060d9SRichard HendersonLDQF 11 ..... 100010 ..... . ............. @q_r_ri_na 56806c060d9SRichard HendersonLDDF 11 ..... 100011 ..... . ............. @d_r_ri_na 56906c060d9SRichard Henderson 57006c060d9SRichard HendersonSTF 11 ..... 100100 ..... . ............. @r_r_ri_na 5713d3c0673SRichard HendersonSTFSR 11 00000 100101 ..... . ............. @n_r_ri 5723d3c0673SRichard HendersonSTXFSR 11 00001 100101 ..... . ............. @n_r_ri 57306c060d9SRichard Henderson{ 57406c060d9SRichard Henderson STQF 11 ..... 100110 ..... . ............. @q_r_ri_na 57506c060d9SRichard Henderson STDFQ 11 ----- 100110 ----- - ------------- 57606c060d9SRichard Henderson} 57706c060d9SRichard HendersonSTDF 11 ..... 100111 ..... . ............. @d_r_ri_na 57806c060d9SRichard Henderson 579cf07cd1eSRichard HendersonLDSTUB 11 ..... 001101 ..... . ............. @r_r_ri_na 580cf07cd1eSRichard HendersonLDSTUB 11 ..... 011101 ..... . ............. @r_r_r_asi # LDSTUBA 581cf07cd1eSRichard HendersonLDSTUB 11 ..... 011101 ..... . ............. @r_r_i_asi # LDSTUBA 582cf07cd1eSRichard Henderson 583dca544b9SRichard HendersonSWAP 11 ..... 001111 ..... . ............. @r_r_ri_na 584dca544b9SRichard HendersonSWAP 11 ..... 011111 ..... . ............. @r_r_r_asi # SWAPA 585dca544b9SRichard HendersonSWAP 11 ..... 011111 ..... . ............. @r_r_i_asi # SWAPA 586dca544b9SRichard Henderson 587d0a11d25SRichard HendersonCASA 11 ..... 111100 ..... . ............. @r_r_r_asi 588d0a11d25SRichard HendersonCASA 11 ..... 111100 ..... . ............. @casa_imm 589d0a11d25SRichard HendersonCASXA 11 ..... 111110 ..... . ............. @r_r_r_asi 590d0a11d25SRichard HendersonCASXA 11 ..... 111110 ..... . ............. @casa_imm 591d0a11d25SRichard Henderson 5925458fd31SRichard HendersonNOP_v9 11 ----- 101101 ----- 0 00000000 ----- # PREFETCH 5935458fd31SRichard HendersonNOP_v9 11 ----- 101101 ----- 1 ------------- # PREFETCH 5945458fd31SRichard HendersonNOP_v9 11 ----- 111101 ----- - ------------- # PREFETCHA 595d3c7e8adSRichard Henderson 596287b1152SRichard Henderson{ 597287b1152SRichard Henderson [ 598287b1152SRichard Henderson LDFA 11 ..... 110000 ..... . ............. @r_r_r_asi 599287b1152SRichard Henderson LDFA 11 ..... 110000 ..... . ............. @r_r_i_asi 600287b1152SRichard Henderson ] 601d3c7e8adSRichard Henderson NCP 11 ----- 110000 ----- --------- ----- # v8 LDC 602287b1152SRichard Henderson} 603d3c7e8adSRichard HendersonNCP 11 ----- 110001 ----- --------- ----- # v8 LDCSR 604287b1152SRichard HendersonLDQFA 11 ..... 110010 ..... . ............. @q_r_r_asi 605287b1152SRichard HendersonLDQFA 11 ..... 110010 ..... . ............. @q_r_i_asi 606287b1152SRichard Henderson{ 607287b1152SRichard Henderson [ 608287b1152SRichard Henderson LDDFA 11 ..... 110011 ..... . ............. @d_r_r_asi 609287b1152SRichard Henderson LDDFA 11 ..... 110011 ..... . ............. @d_r_i_asi 610287b1152SRichard Henderson ] 611d3c7e8adSRichard Henderson NCP 11 ----- 110011 ----- --------- ----- # v8 LDDC 612287b1152SRichard Henderson} 613287b1152SRichard Henderson 614287b1152SRichard Henderson{ 615287b1152SRichard Henderson [ 616287b1152SRichard Henderson STFA 11 ..... 110100 ..... . ............. @r_r_r_asi 617287b1152SRichard Henderson STFA 11 ..... 110100 ..... . ............. @r_r_i_asi 618287b1152SRichard Henderson ] 619d3c7e8adSRichard Henderson NCP 11 ----- 110100 ----- --------- ----- # v8 STC 620287b1152SRichard Henderson} 621d3c7e8adSRichard HendersonNCP 11 ----- 110101 ----- --------- ----- # v8 STCSR 622287b1152SRichard Henderson{ 623287b1152SRichard Henderson [ 624287b1152SRichard Henderson STQFA 11 ..... 110110 ..... . ............. @q_r_r_asi 625287b1152SRichard Henderson STQFA 11 ..... 110110 ..... . ............. @q_r_i_asi 626287b1152SRichard Henderson ] 627d3c7e8adSRichard Henderson NCP 11 ----- 110110 ----- --------- ----- # v8 STDCQ 628287b1152SRichard Henderson} 629287b1152SRichard Henderson{ 630287b1152SRichard Henderson [ 631287b1152SRichard Henderson STDFA 11 ..... 110111 ..... . ............. @d_r_r_asi 632287b1152SRichard Henderson STDFA 11 ..... 110111 ..... . ............. @d_r_i_asi 633287b1152SRichard Henderson ] 634d3c7e8adSRichard Henderson NCP 11 ----- 110111 ----- --------- ----- # v8 STDC 635287b1152SRichard Henderson} 636