140f9f908SRichard Henderson# 240f9f908SRichard Henderson# HPPA instruction decode definitions. 340f9f908SRichard Henderson# 440f9f908SRichard Henderson# Copyright (c) 2018 Richard Henderson <rth@twiddle.net> 540f9f908SRichard Henderson# 640f9f908SRichard Henderson# This library is free software; you can redistribute it and/or 740f9f908SRichard Henderson# modify it under the terms of the GNU Lesser General Public 840f9f908SRichard Henderson# License as published by the Free Software Foundation; either 9d6ea4236SChetan Pant# version 2.1 of the License, or (at your option) any later version. 1040f9f908SRichard Henderson# 1140f9f908SRichard Henderson# This library is distributed in the hope that it will be useful, 1240f9f908SRichard Henderson# but WITHOUT ANY WARRANTY; without even the implied warranty of 1340f9f908SRichard Henderson# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1440f9f908SRichard Henderson# Lesser General Public License for more details. 1540f9f908SRichard Henderson# 1640f9f908SRichard Henderson# You should have received a copy of the GNU Lesser General Public 1740f9f908SRichard Henderson# License along with this library; if not, see <http://www.gnu.org/licenses/>. 1840f9f908SRichard Henderson# 1940f9f908SRichard Henderson 2040f9f908SRichard Henderson#### 21c603e14aSRichard Henderson# Field definitions 22c603e14aSRichard Henderson#### 23c603e14aSRichard Henderson 24c603e14aSRichard Henderson%assemble_sr3 13:1 14:2 25deee69a1SRichard Henderson%assemble_sr3x 13:1 14:2 !function=expand_sr3x 26c603e14aSRichard Henderson 274768c28eSRichard Henderson%assemble_11a 4:12 0:1 !function=expand_11a 2801afb7beSRichard Henderson%assemble_12 0:s1 2:1 3:10 !function=expand_shl2 2946174e14SRichard Henderson%assemble_12a 3:13 0:1 !function=expand_12a 3072bace2dSRichard Henderson%assemble_16 0:16 !function=expand_16 318340f534SRichard Henderson%assemble_17 0:s1 16:5 2:1 3:10 !function=expand_shl2 328340f534SRichard Henderson%assemble_22 0:s1 16:10 2:1 3:10 !function=expand_shl2 3372bace2dSRichard Henderson%assemble_sp 14:2 !function=sp0_if_wide 3401afb7beSRichard Henderson 350588e061SRichard Henderson%assemble_21 0:s1 1:11 14:2 16:5 12:2 !function=expand_shl11 360588e061SRichard Henderson 370588e061SRichard Henderson%lowsign_11 0:s1 1:10 380588e061SRichard Henderson 39e36f27efSRichard Henderson%sm_imm 16:10 !function=expand_sm_imm 40e36f27efSRichard Henderson 41740038d7SRichard Henderson%rm64 1:1 16:5 42e8777db7SRichard Henderson%rt64 6:1 0:5 43c3bad4f8SRichard Henderson%ra64 7:1 21:5 44c3bad4f8SRichard Henderson%rb64 12:1 16:5 45c3bad4f8SRichard Henderson%rc64 8:1 13:3 9:2 46c3bad4f8SRichard Henderson%rc32 13:3 9:2 47740038d7SRichard Henderson 481cd012a5SRichard Henderson%im5_0 0:s1 1:4 491cd012a5SRichard Henderson%im5_16 16:s1 17:4 5072ae4f2bSRichard Henderson%len5 0:5 !function=assemble_6 5172ae4f2bSRichard Henderson%len6_8 8:1 0:5 !function=assemble_6 5272ae4f2bSRichard Henderson%len6_12 12:1 0:5 !function=assemble_6 5372ae4f2bSRichard Henderson%cpos6_11 11:1 5:5 541cd012a5SRichard Henderson%ma_to_m 5:1 13:1 !function=ma_to_m 55740038d7SRichard Henderson%ma2_to_m 2:2 !function=ma_to_m 56740038d7SRichard Henderson%pos_to_m 0:1 !function=pos_to_m 57740038d7SRichard Henderson%neg_to_m 0:1 !function=neg_to_m 58740038d7SRichard Henderson%a_to_m 2:1 !function=neg_to_m 59c65c3ee1SRichard Henderson%cmpbid_c 13:2 !function=cmpbid_c 6082d0c831SRichard Henderson%d_5 5:1 !function=pa20_d 6182d0c831SRichard Henderson%d_11 11:1 !function=pa20_d 6282d0c831SRichard Henderson%d_13 13:1 !function=pa20_d 631cd012a5SRichard Henderson 64c603e14aSRichard Henderson#### 65deee69a1SRichard Henderson# Argument set definitions 66deee69a1SRichard Henderson#### 67deee69a1SRichard Henderson 68*3bdf2081SHelge Deller&empty 69*3bdf2081SHelge Deller 70deee69a1SRichard Henderson# All insns that need to form a virtual address should use this set. 71deee69a1SRichard Henderson&ldst t b x disp sp m scale size 72deee69a1SRichard Henderson 73af240753SRichard Henderson&rr_cf_d t r cf d 740843563fSRichard Henderson&rrr t r1 r2 750c982a28SRichard Henderson&rrr_cf t r1 r2 cf 76fa8e3bedSRichard Henderson&rrr_cf_d t r1 r2 cf d 773bbb8e48SRichard Henderson&rrr_sh t r1 r2 sh 78faf97ba1SRichard Henderson&rrr_cf_d_sh t r1 r2 cf d sh 79151f309bSRichard Henderson&rri t r i 800588e061SRichard Henderson&rri_cf t r i cf 81345aa35fSRichard Henderson&rri_cf_d t r i cf d 820c982a28SRichard Henderson 8301afb7beSRichard Henderson&rrb_c_f disp n c f r1 r2 84e9efd4bcSRichard Henderson&rrb_c_d_f disp n c d f r1 r2 8501afb7beSRichard Henderson&rib_c_f disp n c f r i 86c65c3ee1SRichard Henderson&rib_c_d_f disp n c d f r i 8701afb7beSRichard Henderson 880c982a28SRichard Henderson#### 890c982a28SRichard Henderson# Format definitions 900c982a28SRichard Henderson#### 910c982a28SRichard Henderson 9282d0c831SRichard Henderson@rr_cf_d ...... r:5 ..... cf:4 ...... . t:5 &rr_cf_d d=%d_5 930843563fSRichard Henderson@rrr ...... r2:5 r1:5 .... ....... t:5 &rrr 940c982a28SRichard Henderson@rrr_cf ...... r2:5 r1:5 cf:4 ....... t:5 &rrr_cf 9582d0c831SRichard Henderson@rrr_cf_d ...... r2:5 r1:5 cf:4 ...... . t:5 &rrr_cf_d d=%d_5 963bbb8e48SRichard Henderson@rrr_sh ...... r2:5 r1:5 ........ sh:2 . t:5 &rrr_sh 9782d0c831SRichard Henderson@rrr_cf_d_sh ...... r2:5 r1:5 cf:4 .... sh:2 . t:5 &rrr_cf_d_sh d=%d_5 9882d0c831SRichard Henderson@rrr_cf_d_sh0 ...... r2:5 r1:5 cf:4 ...... . t:5 &rrr_cf_d_sh d=%d_5 sh=0 990588e061SRichard Henderson@rri_cf ...... r:5 t:5 cf:4 . ........... &rri_cf i=%lowsign_11 10082d0c831SRichard Henderson@rri_cf_d ...... r:5 t:5 cf:4 . ........... \ 10182d0c831SRichard Henderson &rri_cf_d d=%d_11 i=%lowsign_11 1020c982a28SRichard Henderson 10301afb7beSRichard Henderson@rrb_cf ...... r2:5 r1:5 c:3 ........... n:1 . \ 10401afb7beSRichard Henderson &rrb_c_f disp=%assemble_12 105e9efd4bcSRichard Henderson@rrb_cdf ...... r2:5 r1:5 c:3 ........... n:1 . \ 106e9efd4bcSRichard Henderson &rrb_c_d_f disp=%assemble_12 10701afb7beSRichard Henderson@rib_cf ...... r:5 ..... c:3 ........... n:1 . \ 10801afb7beSRichard Henderson &rib_c_f disp=%assemble_12 i=%im5_16 109c65c3ee1SRichard Henderson@rib_cdf ...... r:5 ..... c:3 ........... n:1 . \ 110c65c3ee1SRichard Henderson &rib_c_d_f disp=%assemble_12 i=%im5_16 11101afb7beSRichard Henderson 112deee69a1SRichard Henderson#### 11340f9f908SRichard Henderson# System 11440f9f908SRichard Henderson#### 11540f9f908SRichard Henderson 11640f9f908SRichard Hendersonbreak 000000 ----- ----- --- 00000000 ----- 117c603e14aSRichard Henderson 118c603e14aSRichard Hendersonmtsp 000000 ----- r:5 ... 11000001 00000 sp=%assemble_sr3 119c603e14aSRichard Hendersonmtctl 000000 t:5 r:5 --- 11000010 00000 120c603e14aSRichard Hendersonmtsarcm 000000 01011 r:5 --- 11000110 00000 121c603e14aSRichard Hendersonmtsm 000000 00000 r:5 000 11000011 00000 122c603e14aSRichard Henderson 123c603e14aSRichard Hendersonmfia 000000 ----- 00000 --- 10100101 t:5 124c603e14aSRichard Hendersonmfsp 000000 ----- 00000 ... 00100101 t:5 sp=%assemble_sr3 125c603e14aSRichard Hendersonmfctl 000000 r:5 00000- e:1 -01000101 t:5 126e36f27efSRichard Henderson 127e36f27efSRichard Hendersonsync 000000 ----- ----- 000 00100000 00000 # sync, syncdma 128e36f27efSRichard Henderson 129e36f27efSRichard Hendersonldsid 000000 b:5 ----- sp:2 0 10000101 t:5 130e36f27efSRichard Henderson 131e36f27efSRichard Hendersonrsm 000000 .......... 000 01110011 t:5 i=%sm_imm 132e36f27efSRichard Hendersonssm 000000 .......... 000 01101011 t:5 i=%sm_imm 133e36f27efSRichard Henderson 134e36f27efSRichard Hendersonrfi 000000 ----- ----- --- 01100000 00000 135e36f27efSRichard Hendersonrfi_r 000000 ----- ----- --- 01100101 00000 136deee69a1SRichard Henderson 13796927adbSRichard Henderson# These are artificial instructions used by QEMU firmware. 13896927adbSRichard Henderson# They are allocated from the unassigned instruction space. 13996927adbSRichard Hendersonhalt 1111 1111 1111 1101 1110 1010 1101 0000 14096927adbSRichard Hendersonreset 1111 1111 1111 1101 1110 1010 1101 0001 1414a4554c6SHelge Dellergetshadowregs 1111 1111 1111 1101 1110 1010 1101 0010 14296927adbSRichard Henderson 143deee69a1SRichard Henderson#### 144deee69a1SRichard Henderson# Memory Management 145deee69a1SRichard Henderson#### 146deee69a1SRichard Henderson 147deee69a1SRichard Henderson@addrx ...... b:5 x:5 .. ........ m:1 ..... \ 148deee69a1SRichard Henderson &ldst disp=0 scale=0 t=0 sp=0 size=0 149deee69a1SRichard Henderson 150deee69a1SRichard Hendersonnop 000001 ----- ----- -- 11001010 0 ----- # fdc, disp 151deee69a1SRichard Hendersonnop_addrx 000001 ..... ..... -- 01001010 . ----- @addrx # fdc, index 152deee69a1SRichard Hendersonnop_addrx 000001 ..... ..... -- 01001011 . ----- @addrx # fdce 153ad1fdacdSSven Schnellefic 000001 ..... ..... --- 0001010 . ----- @addrx # fic 0x0a 154ad1fdacdSSven Schnellefic 000001 ..... ..... -- 01001111 . 00000 @addrx # fic 0x4f 155ad1fdacdSSven Schnellefic 000001 ..... ..... --- 0001011 . ----- @addrx # fice 156deee69a1SRichard Hendersonnop_addrx 000001 ..... ..... -- 01001110 . 00000 @addrx # pdc 157deee69a1SRichard Henderson 158deee69a1SRichard Hendersonprobe 000001 b:5 ri:5 sp:2 imm:1 100011 write:1 0 t:5 159deee69a1SRichard Henderson 1608577f354SRichard Henderson# pa1.x tlb insert instructions 161deee69a1SRichard Hendersonixtlbx 000001 b:5 r:5 sp:2 0100000 addr:1 0 00000 data=1 162deee69a1SRichard Hendersonixtlbx 000001 b:5 r:5 ... 000000 addr:1 0 00000 \ 163deee69a1SRichard Henderson sp=%assemble_sr3x data=0 164deee69a1SRichard Henderson 1656797c315SNick Hudson# pcxl and pcxl2 Fast TLB Insert instructions 1666797c315SNick Hudsonixtlbxf 000001 00000 r:5 00 0 data:1 01000 addr:1 0 00000 1676797c315SNick Hudson 1688577f354SRichard Henderson# pa2.0 tlb insert idtlbt and iitlbt instructions 1698577f354SRichard Hendersonixtlbt 000001 r2:5 r1:5 000 data:1 100000 0 00000 # idtlbt 1708577f354SRichard Henderson 171eb25d10fSHelge Deller# pdtlb, pitlb 172eb25d10fSHelge Dellerpxtlb 000001 b:5 x:5 sp:2 01001000 m:1 ----- \ 173eb25d10fSHelge Deller &ldst disp=0 scale=0 size=0 t=0 174eb25d10fSHelge Dellerpxtlb 000001 b:5 x:5 ... 0001000 m:1 ----- \ 175eb25d10fSHelge Deller &ldst disp=0 scale=0 size=0 t=0 sp=%assemble_sr3x 176eb25d10fSHelge Deller 177eb25d10fSHelge Deller# ... pa20 local 178eb25d10fSHelge Dellerpxtlb_l 000001 b:5 x:5 sp:2 01011000 m:1 ----- \ 179eb25d10fSHelge Deller &ldst disp=0 scale=0 size=0 t=0 180eb25d10fSHelge Dellerpxtlb_l 000001 b:5 x:5 ... 0011000 m:1 ----- \ 181eb25d10fSHelge Deller &ldst disp=0 scale=0 size=0 t=0 sp=%assemble_sr3x 182eb25d10fSHelge Deller 183eb25d10fSHelge Deller# pdtlbe, pitlbe 184eb25d10fSHelge Dellerpxtlbe 000001 b:5 x:5 sp:2 01001001 m:1 ----- \ 185eb25d10fSHelge Deller &ldst disp=0 scale=0 size=0 t=0 186eb25d10fSHelge Dellerpxtlbe 000001 b:5 x:5 ... 0001001 m:1 ----- \ 187eb25d10fSHelge Deller &ldst disp=0 scale=0 size=0 t=0 sp=%assemble_sr3x 188deee69a1SRichard Henderson 189deee69a1SRichard Hendersonlpa 000001 b:5 x:5 sp:2 01001101 m:1 t:5 \ 190deee69a1SRichard Henderson &ldst disp=0 scale=0 size=0 191deee69a1SRichard Henderson 192deee69a1SRichard Hendersonlci 000001 ----- ----- -- 01001100 0 t:5 1930c982a28SRichard Henderson 1940c982a28SRichard Henderson#### 1950c982a28SRichard Henderson# Arith/Log 1960c982a28SRichard Henderson#### 1970c982a28SRichard Henderson 198fa8e3bedSRichard Hendersonandcm 000010 ..... ..... .... 000000 . ..... @rrr_cf_d 199fa8e3bedSRichard Hendersonand 000010 ..... ..... .... 001000 . ..... @rrr_cf_d 200fa8e3bedSRichard Hendersonor 000010 ..... ..... .... 001001 . ..... @rrr_cf_d 201fa8e3bedSRichard Hendersonxor 000010 ..... ..... .... 001010 . ..... @rrr_cf_d 202af240753SRichard Hendersonuxor 000010 ..... ..... .... 001110 . ..... @rrr_cf_d 2030c982a28SRichard Hendersonds 000010 ..... ..... .... 010001 0 ..... @rrr_cf 204345aa35fSRichard Hendersoncmpclr 000010 ..... ..... .... 100010 . ..... @rrr_cf_d 205af240753SRichard Hendersonuaddcm 000010 ..... ..... .... 100110 . ..... @rrr_cf_d 206af240753SRichard Hendersonuaddcm_tc 000010 ..... ..... .... 100111 . ..... @rrr_cf_d 207af240753SRichard Hendersondcor 000010 ..... 00000 .... 101110 . ..... @rr_cf_d 208af240753SRichard Hendersondcor_i 000010 ..... 00000 .... 101111 . ..... @rr_cf_d 2090c982a28SRichard Henderson 210faf97ba1SRichard Hendersonadd 000010 ..... ..... .... 0110.. . ..... @rrr_cf_d_sh 211faf97ba1SRichard Hendersonadd_l 000010 ..... ..... .... 1010.. . ..... @rrr_cf_d_sh 212faf97ba1SRichard Hendersonadd_tsv 000010 ..... ..... .... 1110.. . ..... @rrr_cf_d_sh 2133bbb8e48SRichard Henderson{ 214faf97ba1SRichard Henderson add_c 000010 ..... ..... .... 011100 . ..... @rrr_cf_d_sh0 2153bbb8e48SRichard Henderson hshladd 000010 ..... ..... 0000 0111.. 0 ..... @rrr_sh 2163bbb8e48SRichard Henderson} 217faf97ba1SRichard Hendersonadd_c_tsv 000010 ..... ..... .... 111100 . ..... @rrr_cf_d_sh0 2180c982a28SRichard Henderson 21963c427c6SRichard Hendersonsub 000010 ..... ..... .... 010000 . ..... @rrr_cf_d 22063c427c6SRichard Hendersonsub_tsv 000010 ..... ..... .... 110000 . ..... @rrr_cf_d 22163c427c6SRichard Hendersonsub_tc 000010 ..... ..... .... 010011 . ..... @rrr_cf_d 22263c427c6SRichard Hendersonsub_tsv_tc 000010 ..... ..... .... 110011 . ..... @rrr_cf_d 2233bbb8e48SRichard Henderson{ 22463c427c6SRichard Henderson sub_b 000010 ..... ..... .... 010100 . ..... @rrr_cf_d 2253bbb8e48SRichard Henderson hshradd 000010 ..... ..... 0000 0101.. 0 ..... @rrr_sh 2263bbb8e48SRichard Henderson} 22763c427c6SRichard Hendersonsub_b_tsv 000010 ..... ..... .... 110100 . ..... @rrr_cf_d 2281cd012a5SRichard Henderson 2290588e061SRichard Hendersonldil 001000 t:5 ..................... i=%assemble_21 2300588e061SRichard Hendersonaddil 001010 r:5 ..................... i=%assemble_21 23172bace2dSRichard Hendersonldo 001101 b:5 t:5 ................ i=%assemble_16 2320588e061SRichard Henderson 2330588e061SRichard Hendersonaddi 101101 ..... ..... .... 0 ........... @rri_cf 2340588e061SRichard Hendersonaddi_tsv 101101 ..... ..... .... 1 ........... @rri_cf 2350588e061SRichard Hendersonaddi_tc 101100 ..... ..... .... 0 ........... @rri_cf 2360588e061SRichard Hendersonaddi_tc_tsv 101100 ..... ..... .... 1 ........... @rri_cf 2370588e061SRichard Henderson 2380588e061SRichard Hendersonsubi 100101 ..... ..... .... 0 ........... @rri_cf 2390588e061SRichard Hendersonsubi_tsv 100101 ..... ..... .... 1 ........... @rri_cf 2400588e061SRichard Henderson 241345aa35fSRichard Hendersoncmpiclr 100100 ..... ..... .... . ........... @rri_cf_d 2420588e061SRichard Henderson 2430843563fSRichard Hendersonhadd 000010 ..... ..... 00000011 11 0 ..... @rrr 2440843563fSRichard Hendersonhadd_ss 000010 ..... ..... 00000011 01 0 ..... @rrr 2450843563fSRichard Hendersonhadd_us 000010 ..... ..... 00000011 00 0 ..... @rrr 2460843563fSRichard Henderson 2471b3cb7c8SRichard Hendersonhavg 000010 ..... ..... 00000010 11 0 ..... @rrr 2481b3cb7c8SRichard Henderson 249151f309bSRichard Hendersonhshl 111110 00000 r:5 100010 i:4 0 t:5 &rri 250151f309bSRichard Hendersonhshr_s 111110 r:5 00000 110011 i:4 0 t:5 &rri 251151f309bSRichard Hendersonhshr_u 111110 r:5 00000 110010 i:4 0 t:5 &rri 252151f309bSRichard Henderson 25310c9e58dSRichard Hendersonhsub 000010 ..... ..... 00000001 11 0 ..... @rrr 25410c9e58dSRichard Hendersonhsub_ss 000010 ..... ..... 00000001 01 0 ..... @rrr 25510c9e58dSRichard Hendersonhsub_us 000010 ..... ..... 00000001 00 0 ..... @rrr 25610c9e58dSRichard Henderson 257c2a7ee3fSRichard Hendersonmixh_l 111110 ..... ..... 1 00 00100000 ..... @rrr 258c2a7ee3fSRichard Hendersonmixh_r 111110 ..... ..... 1 10 00100000 ..... @rrr 259c2a7ee3fSRichard Hendersonmixw_l 111110 ..... ..... 1 00 00000000 ..... @rrr 260c2a7ee3fSRichard Hendersonmixw_r 111110 ..... ..... 1 10 00000000 ..... @rrr 261c2a7ee3fSRichard Henderson 2624e7abdb1SRichard Hendersonpermh 111110 r1:5 r2:5 0 c0:2 0 c1:2 c2:2 c3:2 0 t:5 2634e7abdb1SRichard Henderson 2641cd012a5SRichard Henderson#### 2651cd012a5SRichard Henderson# Index Mem 2661cd012a5SRichard Henderson#### 2671cd012a5SRichard Henderson 2681cd012a5SRichard Henderson@ldstx ...... b:5 x:5 sp:2 scale:1 ....... m:1 t:5 &ldst disp=0 2691cd012a5SRichard Henderson@ldim5 ...... b:5 ..... sp:2 ......... t:5 \ 2701cd012a5SRichard Henderson &ldst disp=%im5_16 x=0 scale=0 m=%ma_to_m 2711cd012a5SRichard Henderson@stim5 ...... b:5 t:5 sp:2 ......... ..... \ 2721cd012a5SRichard Henderson &ldst disp=%im5_0 x=0 scale=0 m=%ma_to_m 2731cd012a5SRichard Henderson 2741cd012a5SRichard Hendersonld 000011 ..... ..... .. . 1 -- 00 size:2 ...... @ldim5 2751cd012a5SRichard Hendersonld 000011 ..... ..... .. . 0 -- 00 size:2 ...... @ldstx 2761cd012a5SRichard Hendersonst 000011 ..... ..... .. . 1 -- 10 size:2 ...... @stim5 2771cd012a5SRichard Hendersonldc 000011 ..... ..... .. . 1 -- 0111 ...... @ldim5 size=2 2781cd012a5SRichard Hendersonldc 000011 ..... ..... .. . 0 -- 0111 ...... @ldstx size=2 27951416c4eSRichard Hendersonldc 000011 ..... ..... .. . 1 -- 0101 ...... @ldim5 size=3 28051416c4eSRichard Hendersonldc 000011 ..... ..... .. . 0 -- 0101 ...... @ldstx size=3 2811cd012a5SRichard Hendersonlda 000011 ..... ..... .. . 1 -- 0110 ...... @ldim5 size=2 2821cd012a5SRichard Hendersonlda 000011 ..... ..... .. . 0 -- 0110 ...... @ldstx size=2 28351416c4eSRichard Hendersonlda 000011 ..... ..... .. . 1 -- 0100 ...... @ldim5 size=3 28451416c4eSRichard Hendersonlda 000011 ..... ..... .. . 0 -- 0100 ...... @ldstx size=3 2851cd012a5SRichard Hendersonsta 000011 ..... ..... .. . 1 -- 1110 ...... @stim5 size=2 28651416c4eSRichard Hendersonsta 000011 ..... ..... .. . 1 -- 1111 ...... @stim5 size=3 2871cd012a5SRichard Hendersonstby 000011 b:5 r:5 sp:2 a:1 1 -- 1100 m:1 ..... disp=%im5_0 28825460fc5SRichard Hendersonstdby 000011 b:5 r:5 sp:2 a:1 1 -- 1101 m:1 ..... disp=%im5_0 289b1e2af57SRichard Henderson 290e8777db7SRichard Henderson@fldstwx ...... b:5 x:5 sp:2 scale:1 ....... m:1 ..... \ 291e8777db7SRichard Henderson &ldst t=%rt64 disp=0 size=2 292e8777db7SRichard Henderson@fldstwi ...... b:5 ..... sp:2 . ....... . ..... \ 293e8777db7SRichard Henderson &ldst t=%rt64 disp=%im5_16 m=%ma_to_m x=0 scale=0 size=2 294e8777db7SRichard Henderson 295e8777db7SRichard Hendersonfldw 001001 ..... ..... .. . 0 -- 000 . . ..... @fldstwx 296e8777db7SRichard Hendersonfldw 001001 ..... ..... .. . 1 -- 000 . . ..... @fldstwi 297e8777db7SRichard Hendersonfstw 001001 ..... ..... .. . 0 -- 100 . . ..... @fldstwx 298e8777db7SRichard Hendersonfstw 001001 ..... ..... .. . 1 -- 100 . . ..... @fldstwi 299e8777db7SRichard Henderson 300e8777db7SRichard Henderson@fldstdx ...... b:5 x:5 sp:2 scale:1 ....... m:1 t:5 \ 301e8777db7SRichard Henderson &ldst disp=0 size=3 302e8777db7SRichard Henderson@fldstdi ...... b:5 ..... sp:2 . ....... . t:5 \ 303e8777db7SRichard Henderson &ldst disp=%im5_16 m=%ma_to_m x=0 scale=0 size=3 304e8777db7SRichard Henderson 305e8777db7SRichard Hendersonfldd 001011 ..... ..... .. . 0 -- 000 0 . ..... @fldstdx 306e8777db7SRichard Hendersonfldd 001011 ..... ..... .. . 1 -- 000 0 . ..... @fldstdi 307e8777db7SRichard Hendersonfstd 001011 ..... ..... .. . 0 -- 100 0 . ..... @fldstdx 308e8777db7SRichard Hendersonfstd 001011 ..... ..... .. . 1 -- 100 0 . ..... @fldstdi 309e8777db7SRichard Henderson 310b1e2af57SRichard Henderson#### 311740038d7SRichard Henderson# Offset Mem 312740038d7SRichard Henderson#### 313740038d7SRichard Henderson 3144768c28eSRichard Henderson@ldstim11 ...... b:5 t:5 ................ \ 3154768c28eSRichard Henderson &ldst sp=%assemble_sp disp=%assemble_11a \ 3164768c28eSRichard Henderson m=%ma2_to_m x=0 scale=0 size=3 31772bace2dSRichard Henderson@ldstim14 ...... b:5 t:5 ................ \ 31872bace2dSRichard Henderson &ldst sp=%assemble_sp disp=%assemble_16 \ 31972bace2dSRichard Henderson x=0 scale=0 m=0 32072bace2dSRichard Henderson@ldstim14m ...... b:5 t:5 ................ \ 32172bace2dSRichard Henderson &ldst sp=%assemble_sp disp=%assemble_16 \ 32272bace2dSRichard Henderson x=0 scale=0 m=%neg_to_m 32346174e14SRichard Henderson@ldstim12m ...... b:5 t:5 ................ \ 32446174e14SRichard Henderson &ldst sp=%assemble_sp disp=%assemble_12a \ 32546174e14SRichard Henderson x=0 scale=0 m=%pos_to_m 326740038d7SRichard Henderson 327740038d7SRichard Henderson# LDB, LDH, LDW, LDWM 328740038d7SRichard Hendersonld 010000 ..... ..... .. .............. @ldstim14 size=0 329740038d7SRichard Hendersonld 010001 ..... ..... .. .............. @ldstim14 size=1 330740038d7SRichard Hendersonld 010010 ..... ..... .. .............. @ldstim14 size=2 331740038d7SRichard Hendersonld 010011 ..... ..... .. .............. @ldstim14m size=2 332740038d7SRichard Hendersonld 010111 ..... ..... .. ...........10. @ldstim12m size=2 333740038d7SRichard Henderson 334740038d7SRichard Henderson# STB, STH, STW, STWM 335740038d7SRichard Hendersonst 011000 ..... ..... .. .............. @ldstim14 size=0 336740038d7SRichard Hendersonst 011001 ..... ..... .. .............. @ldstim14 size=1 337740038d7SRichard Hendersonst 011010 ..... ..... .. .............. @ldstim14 size=2 338740038d7SRichard Hendersonst 011011 ..... ..... .. .............. @ldstim14m size=2 339740038d7SRichard Hendersonst 011111 ..... ..... .. ...........10. @ldstim12m size=2 340740038d7SRichard Henderson 34146174e14SRichard Hendersonfldw 010110 b:5 ..... ................ \ 34246174e14SRichard Henderson &ldst disp=%assemble_12a sp=%assemble_sp \ 34346174e14SRichard Henderson t=%rm64 m=%a_to_m x=0 scale=0 size=2 34446174e14SRichard Hendersonfldw 010111 b:5 ..... .............0.. \ 34546174e14SRichard Henderson &ldst disp=%assemble_12a sp=%assemble_sp \ 34646174e14SRichard Henderson t=%rm64 m=0 x=0 scale=0 size=2 347740038d7SRichard Henderson 34846174e14SRichard Hendersonfstw 011110 b:5 ..... ................ \ 34946174e14SRichard Henderson &ldst disp=%assemble_12a sp=%assemble_sp \ 35046174e14SRichard Henderson t=%rm64 m=%a_to_m x=0 scale=0 size=2 35146174e14SRichard Hendersonfstw 011111 b:5 ..... .............0.. \ 35246174e14SRichard Henderson &ldst disp=%assemble_12a sp=%assemble_sp \ 35346174e14SRichard Henderson t=%rm64 m=0 x=0 scale=0 size=2 354740038d7SRichard Henderson 35551416c4eSRichard Hendersonld 010100 ..... ..... .. ............0. @ldstim11 35651416c4eSRichard Hendersonfldd 010100 ..... ..... .. ............1. @ldstim11 357740038d7SRichard Henderson 35851416c4eSRichard Hendersonst 011100 ..... ..... .. ............0. @ldstim11 35951416c4eSRichard Hendersonfstd 011100 ..... ..... .. ............1. @ldstim11 360740038d7SRichard Henderson 361740038d7SRichard Henderson#### 362b1e2af57SRichard Henderson# Floating-point Multiply Add 363b1e2af57SRichard Henderson#### 364b1e2af57SRichard Henderson 365b1e2af57SRichard Henderson&mpyadd rm1 rm2 ta ra tm 366b1e2af57SRichard Henderson@mpyadd ...... rm1:5 rm2:5 ta:5 ra:5 . tm:5 &mpyadd 367b1e2af57SRichard Henderson 368b1e2af57SRichard Hendersonfmpyadd_f 000110 ..... ..... ..... ..... 0 ..... @mpyadd 369b1e2af57SRichard Hendersonfmpyadd_d 000110 ..... ..... ..... ..... 1 ..... @mpyadd 370b1e2af57SRichard Hendersonfmpysub_f 100110 ..... ..... ..... ..... 0 ..... @mpyadd 371b1e2af57SRichard Hendersonfmpysub_d 100110 ..... ..... ..... ..... 1 ..... @mpyadd 37201afb7beSRichard Henderson 37301afb7beSRichard Henderson#### 37401afb7beSRichard Henderson# Conditional Branches 37501afb7beSRichard Henderson#### 37601afb7beSRichard Henderson 37782d0c831SRichard Hendersonbb_sar 110000 00000 r:5 c:1 1 . ........... n:1 . \ 37882d0c831SRichard Henderson disp=%assemble_12 d=%d_13 37982d0c831SRichard Hendersonbb_imm 110001 p:5 r:5 c:1 1 . ........... n:1 . \ 38082d0c831SRichard Henderson disp=%assemble_12 d=%d_13 38101afb7beSRichard Henderson 38201afb7beSRichard Hendersonmovb 110010 ..... ..... ... ........... . . @rrb_cf f=0 38301afb7beSRichard Hendersonmovbi 110011 ..... ..... ... ........... . . @rib_cf f=0 38401afb7beSRichard Henderson 385e9efd4bcSRichard Hendersoncmpb 100000 ..... ..... ... ........... . . @rrb_cdf d=0 f=0 386e9efd4bcSRichard Hendersoncmpb 100010 ..... ..... ... ........... . . @rrb_cdf d=0 f=1 387e9efd4bcSRichard Hendersoncmpb 100111 ..... ..... ... ........... . . @rrb_cdf d=1 f=0 388e9efd4bcSRichard Hendersoncmpb 101111 ..... ..... ... ........... . . @rrb_cdf d=1 f=1 389c65c3ee1SRichard Hendersoncmpbi 100001 ..... ..... ... ........... . . @rib_cdf d=0 f=0 390c65c3ee1SRichard Hendersoncmpbi 100011 ..... ..... ... ........... . . @rib_cdf d=0 f=1 391c65c3ee1SRichard Hendersoncmpbi 111011 r:5 ..... f:1 .. ........... n:1 . \ 392c65c3ee1SRichard Henderson &rib_c_d_f d=1 disp=%assemble_12 c=%cmpbid_c i=%im5_16 39301afb7beSRichard Henderson 39401afb7beSRichard Hendersonaddb 101000 ..... ..... ... ........... . . @rrb_cf f=0 39501afb7beSRichard Hendersonaddb 101010 ..... ..... ... ........... . . @rrb_cf f=1 39601afb7beSRichard Hendersonaddbi 101001 ..... ..... ... ........... . . @rib_cf f=0 39701afb7beSRichard Hendersonaddbi 101011 ..... ..... ... ........... . . @rib_cf f=1 39830878590SRichard Henderson 39930878590SRichard Henderson#### 40030878590SRichard Henderson# Shift, Extract, Deposit 40130878590SRichard Henderson#### 40230878590SRichard Henderson 403f7b775a9SRichard Hendersonshrp_sar 110100 r2:5 r1:5 c:3 00 0 d:1 0000 t:5 404f7b775a9SRichard Hendersonshrp_imm 110100 r2:5 r1:5 c:3 01 0 cpos:5 t:5 d=0 405f7b775a9SRichard Hendersonshrp_imm 110100 r2:5 r1:5 c:3 0. 1 ..... t:5 \ 406f7b775a9SRichard Henderson d=1 cpos=%cpos6_11 40730878590SRichard Henderson 408bd792da3SRichard Hendersonextr_sar 110100 r:5 t:5 c:3 10 se:1 00 000 ..... d=0 len=%len5 409bd792da3SRichard Hendersonextr_sar 110100 r:5 t:5 c:3 10 se:1 1. 000 ..... d=1 len=%len6_8 410bd792da3SRichard Hendersonextr_imm 110100 r:5 t:5 c:3 11 se:1 pos:5 ..... d=0 len=%len5 411bd792da3SRichard Hendersonextr_imm 110110 r:5 t:5 c:3 .. se:1 ..... ..... \ 412bd792da3SRichard Henderson d=1 len=%len6_12 pos=%cpos6_11 41330878590SRichard Henderson 41472ae4f2bSRichard Hendersondep_sar 110101 t:5 r:5 c:3 00 nz:1 00 000 ..... d=0 len=%len5 41572ae4f2bSRichard Hendersondep_sar 110101 t:5 r:5 c:3 00 nz:1 1. 000 ..... d=1 len=%len6_8 41672ae4f2bSRichard Hendersondep_imm 110101 t:5 r:5 c:3 01 nz:1 cpos:5 ..... d=0 len=%len5 41772ae4f2bSRichard Hendersondep_imm 111100 t:5 r:5 c:3 .. nz:1 ..... ..... \ 41872ae4f2bSRichard Henderson d=1 len=%len6_12 cpos=%cpos6_11 41972ae4f2bSRichard Hendersondepi_sar 110101 t:5 ..... c:3 10 nz:1 d:1 . 000 ..... \ 42072ae4f2bSRichard Henderson i=%im5_16 len=%len6_8 42172ae4f2bSRichard Hendersondepi_imm 110101 t:5 ..... c:3 11 nz:1 cpos:5 ..... \ 42272ae4f2bSRichard Henderson d=0 i=%im5_16 len=%len5 42372ae4f2bSRichard Hendersondepi_imm 111101 t:5 ..... c:3 .. nz:1 ..... ..... \ 42472ae4f2bSRichard Henderson d=1 i=%im5_16 len=%len6_12 cpos=%cpos6_11 4258340f534SRichard Henderson 4268340f534SRichard Henderson#### 4278340f534SRichard Henderson# Branch External 4288340f534SRichard Henderson#### 4298340f534SRichard Henderson 4308340f534SRichard Henderson&BE b l n disp sp 4318340f534SRichard Henderson@be ...... b:5 ..... ... ........... n:1 . \ 4328340f534SRichard Henderson &BE disp=%assemble_17 sp=%assemble_sr3 4338340f534SRichard Henderson 4348340f534SRichard Hendersonbe 111000 ..... ..... ... ........... . . @be l=0 4358340f534SRichard Hendersonbe 111001 ..... ..... ... ........... . . @be l=31 4368340f534SRichard Henderson 4378340f534SRichard Henderson#### 4388340f534SRichard Henderson# Branch 4398340f534SRichard Henderson#### 4408340f534SRichard Henderson 4418340f534SRichard Henderson&BL l n disp 4428340f534SRichard Henderson@bl ...... l:5 ..... ... ........... n:1 . &BL disp=%assemble_17 4438340f534SRichard Henderson 4448340f534SRichard Henderson# B,L and B,L,PUSH 4458340f534SRichard Hendersonbl 111010 ..... ..... 000 ........... . . @bl 4468340f534SRichard Hendersonbl 111010 ..... ..... 100 ........... . . @bl 4478340f534SRichard Henderson# B,L (long displacement) 4488340f534SRichard Hendersonbl 111010 ..... ..... 101 ........... n:1 . &BL l=2 \ 4498340f534SRichard Henderson disp=%assemble_22 4508340f534SRichard Hendersonb_gate 111010 ..... ..... 001 ........... . . @bl 4518340f534SRichard Hendersonblr 111010 l:5 x:5 010 00000000000 n:1 0 452a8966ba7SRichard Hendersonnopbts 111010 00000 00000 010 0---------1 0 1 # clrbts/popbts 453a8966ba7SRichard Hendersonnopbts 111010 00000 ----- 010 00000000000 0 1 # pushbts/pushnom 4548340f534SRichard Hendersonbv 111010 b:5 x:5 110 00000000000 n:1 0 4558340f534SRichard Hendersonbve 111010 b:5 00000 110 10000000000 n:1 - l=0 4568340f534SRichard Hendersonbve 111010 b:5 00000 111 10000000000 n:1 - l=2 457c3bad4f8SRichard Henderson 458c3bad4f8SRichard Henderson#### 459c3bad4f8SRichard Henderson# FP Fused Multiple-Add 460c3bad4f8SRichard Henderson#### 461c3bad4f8SRichard Henderson 462c3bad4f8SRichard Hendersonfmpyfadd_f 101110 ..... ..... ... . 0 ... . . neg:1 ..... \ 463c3bad4f8SRichard Henderson rm1=%ra64 rm2=%rb64 ra3=%rc64 t=%rt64 464c3bad4f8SRichard Hendersonfmpyfadd_d 101110 rm1:5 rm2:5 ... 0 1 ..0 0 0 neg:1 t:5 ra3=%rc32 4651ca74648SRichard Henderson 4661ca74648SRichard Henderson#### 4671ca74648SRichard Henderson# FP operations 4681ca74648SRichard Henderson#### 4691ca74648SRichard Henderson 4701ca74648SRichard Henderson&fclass01 r t 4711ca74648SRichard Henderson&fclass2 r1 r2 c y 4721ca74648SRichard Henderson&fclass3 r1 r2 t 4731ca74648SRichard Henderson 4741ca74648SRichard Henderson@f0c_0 ...... r:5 00000 ..... 00 000 0 t:5 &fclass01 4751ca74648SRichard Henderson@f0c_1 ...... r:5 000.. ..... 01 000 0 t:5 &fclass01 4761ca74648SRichard Henderson@f0c_2 ...... r1:5 r2:5 y:3 .. 10 000 . c:5 &fclass2 4771ca74648SRichard Henderson@f0c_3 ...... r1:5 r2:5 ..... 11 000 0 t:5 &fclass3 4781ca74648SRichard Henderson 4791ca74648SRichard Henderson@f0e_f_0 ...... ..... 00000 ... 0 0 000 .. 0 ..... \ 4801ca74648SRichard Henderson &fclass01 r=%ra64 t=%rt64 4811ca74648SRichard Henderson@f0e_d_0 ...... r:5 00000 ... 0 1 000 00 0 t:5 &fclass01 4821ca74648SRichard Henderson 4831ca74648SRichard Henderson@f0e_ff_1 ...... ..... 000 ... 0000 010 .. 0 ..... \ 4841ca74648SRichard Henderson &fclass01 r=%ra64 t=%rt64 4851ca74648SRichard Henderson@f0e_fd_1 ...... ..... 000 ... 0100 010 .0 0 t:5 &fclass01 r=%ra64 4861ca74648SRichard Henderson@f0e_df_1 ...... r:5 000 ... 0001 010 0. 0 ..... &fclass01 t=%rt64 4871ca74648SRichard Henderson@f0e_dd_1 ...... r:5 000 ... 0101 010 00 0 t:5 &fclass01 4881ca74648SRichard Henderson 4891ca74648SRichard Henderson@f0e_f_2 ...... ..... ..... y:3 .0 100 .00 c:5 \ 4901ca74648SRichard Henderson &fclass2 r1=%ra64 r2=%rb64 4911ca74648SRichard Henderson@f0e_d_2 ...... r1:5 r2:5 y:3 01 100 000 c:5 &fclass2 4921ca74648SRichard Henderson 4931ca74648SRichard Henderson@f0e_f_3 ...... ..... ..... ... .0 110 ..0 ..... \ 4941ca74648SRichard Henderson &fclass3 r1=%ra64 r2=%rb64 t=%rt64 4950843563fSRichard Henderson@f0e_d_3 ...... r1:5 r2:5 ... 01 110 000 t:5 &fclass3 4961ca74648SRichard Henderson 4971ca74648SRichard Henderson# Floating point class 0 4981ca74648SRichard Henderson 49959f8c04bSHelge Dellerfid_f 001100 00000 00000 000 00 000000 00000 5001ca74648SRichard Henderson 5011ca74648SRichard Hendersonfcpy_f 001100 ..... ..... 010 00 ...... ..... @f0c_0 5021ca74648SRichard Hendersonfabs_f 001100 ..... ..... 011 00 ...... ..... @f0c_0 5031ca74648SRichard Hendersonfsqrt_f 001100 ..... ..... 100 00 ...... ..... @f0c_0 5041ca74648SRichard Hendersonfrnd_f 001100 ..... ..... 101 00 ...... ..... @f0c_0 5051ca74648SRichard Hendersonfneg_f 001100 ..... ..... 110 00 ...... ..... @f0c_0 5061ca74648SRichard Hendersonfnegabs_f 001100 ..... ..... 111 00 ...... ..... @f0c_0 5071ca74648SRichard Henderson 5081ca74648SRichard Hendersonfcpy_d 001100 ..... ..... 010 01 ...... ..... @f0c_0 5091ca74648SRichard Hendersonfabs_d 001100 ..... ..... 011 01 ...... ..... @f0c_0 5101ca74648SRichard Hendersonfsqrt_d 001100 ..... ..... 100 01 ...... ..... @f0c_0 5111ca74648SRichard Hendersonfrnd_d 001100 ..... ..... 101 01 ...... ..... @f0c_0 5121ca74648SRichard Hendersonfneg_d 001100 ..... ..... 110 01 ...... ..... @f0c_0 5131ca74648SRichard Hendersonfnegabs_d 001100 ..... ..... 111 01 ...... ..... @f0c_0 5141ca74648SRichard Henderson 5151ca74648SRichard Hendersonfcpy_f 001110 ..... ..... 010 ........ ..... @f0e_f_0 5161ca74648SRichard Hendersonfabs_f 001110 ..... ..... 011 ........ ..... @f0e_f_0 5171ca74648SRichard Hendersonfsqrt_f 001110 ..... ..... 100 ........ ..... @f0e_f_0 5181ca74648SRichard Hendersonfrnd_f 001110 ..... ..... 101 ........ ..... @f0e_f_0 5191ca74648SRichard Hendersonfneg_f 001110 ..... ..... 110 ........ ..... @f0e_f_0 5201ca74648SRichard Hendersonfnegabs_f 001110 ..... ..... 111 ........ ..... @f0e_f_0 5211ca74648SRichard Henderson 5221ca74648SRichard Hendersonfcpy_d 001110 ..... ..... 010 ........ ..... @f0e_d_0 5231ca74648SRichard Hendersonfabs_d 001110 ..... ..... 011 ........ ..... @f0e_d_0 5241ca74648SRichard Hendersonfsqrt_d 001110 ..... ..... 100 ........ ..... @f0e_d_0 5251ca74648SRichard Hendersonfrnd_d 001110 ..... ..... 101 ........ ..... @f0e_d_0 5261ca74648SRichard Hendersonfneg_d 001110 ..... ..... 110 ........ ..... @f0e_d_0 5271ca74648SRichard Hendersonfnegabs_d 001110 ..... ..... 111 ........ ..... @f0e_d_0 5281ca74648SRichard Henderson 5291ca74648SRichard Henderson# Floating point class 1 5301ca74648SRichard Henderson 5311ca74648SRichard Henderson# float/float 5321ca74648SRichard Hendersonfcnv_d_f 001100 ..... ... 000 00 01 ...... ..... @f0c_1 5331ca74648SRichard Hendersonfcnv_f_d 001100 ..... ... 000 01 00 ...... ..... @f0c_1 5341ca74648SRichard Henderson 5351ca74648SRichard Hendersonfcnv_d_f 001110 ..... ... 000 .......... ..... @f0e_df_1 5361ca74648SRichard Hendersonfcnv_f_d 001110 ..... ... 000 .......... ..... @f0e_fd_1 5371ca74648SRichard Henderson 5381ca74648SRichard Henderson# int/float 5391ca74648SRichard Hendersonfcnv_w_f 001100 ..... ... 001 00 00 ...... ..... @f0c_1 5401ca74648SRichard Hendersonfcnv_q_f 001100 ..... ... 001 00 01 ...... ..... @f0c_1 5411ca74648SRichard Hendersonfcnv_w_d 001100 ..... ... 001 01 00 ...... ..... @f0c_1 5421ca74648SRichard Hendersonfcnv_q_d 001100 ..... ... 001 01 01 ...... ..... @f0c_1 5431ca74648SRichard Henderson 5441ca74648SRichard Hendersonfcnv_w_f 001110 ..... ... 001 .......... ..... @f0e_ff_1 5451ca74648SRichard Hendersonfcnv_q_f 001110 ..... ... 001 .......... ..... @f0e_df_1 5461ca74648SRichard Hendersonfcnv_w_d 001110 ..... ... 001 .......... ..... @f0e_fd_1 5471ca74648SRichard Hendersonfcnv_q_d 001110 ..... ... 001 .......... ..... @f0e_dd_1 5481ca74648SRichard Henderson 5491ca74648SRichard Henderson# float/int 5501ca74648SRichard Hendersonfcnv_f_w 001100 ..... ... 010 00 00 ...... ..... @f0c_1 5511ca74648SRichard Hendersonfcnv_d_w 001100 ..... ... 010 00 01 ...... ..... @f0c_1 5521ca74648SRichard Hendersonfcnv_f_q 001100 ..... ... 010 01 00 ...... ..... @f0c_1 5531ca74648SRichard Hendersonfcnv_d_q 001100 ..... ... 010 01 01 ...... ..... @f0c_1 5541ca74648SRichard Henderson 5551ca74648SRichard Hendersonfcnv_f_w 001110 ..... ... 010 .......... ..... @f0e_ff_1 5561ca74648SRichard Hendersonfcnv_d_w 001110 ..... ... 010 .......... ..... @f0e_df_1 5571ca74648SRichard Hendersonfcnv_f_q 001110 ..... ... 010 .......... ..... @f0e_fd_1 5581ca74648SRichard Hendersonfcnv_d_q 001110 ..... ... 010 .......... ..... @f0e_dd_1 5591ca74648SRichard Henderson 5601ca74648SRichard Henderson# float/int truncate 5611ca74648SRichard Hendersonfcnv_t_f_w 001100 ..... ... 011 00 00 ...... ..... @f0c_1 5621ca74648SRichard Hendersonfcnv_t_d_w 001100 ..... ... 011 00 01 ...... ..... @f0c_1 5631ca74648SRichard Hendersonfcnv_t_f_q 001100 ..... ... 011 01 00 ...... ..... @f0c_1 5641ca74648SRichard Hendersonfcnv_t_d_q 001100 ..... ... 011 01 01 ...... ..... @f0c_1 5651ca74648SRichard Henderson 5661ca74648SRichard Hendersonfcnv_t_f_w 001110 ..... ... 011 .......... ..... @f0e_ff_1 5671ca74648SRichard Hendersonfcnv_t_d_w 001110 ..... ... 011 .......... ..... @f0e_df_1 5681ca74648SRichard Hendersonfcnv_t_f_q 001110 ..... ... 011 .......... ..... @f0e_fd_1 5691ca74648SRichard Hendersonfcnv_t_d_q 001110 ..... ... 011 .......... ..... @f0e_dd_1 5701ca74648SRichard Henderson 5711ca74648SRichard Henderson# uint/float 5721ca74648SRichard Hendersonfcnv_uw_f 001100 ..... ... 101 00 00 ...... ..... @f0c_1 5731ca74648SRichard Hendersonfcnv_uq_f 001100 ..... ... 101 00 01 ...... ..... @f0c_1 5741ca74648SRichard Hendersonfcnv_uw_d 001100 ..... ... 101 01 00 ...... ..... @f0c_1 5751ca74648SRichard Hendersonfcnv_uq_d 001100 ..... ... 101 01 01 ...... ..... @f0c_1 5761ca74648SRichard Henderson 5771ca74648SRichard Hendersonfcnv_uw_f 001110 ..... ... 101 .......... ..... @f0e_ff_1 5781ca74648SRichard Hendersonfcnv_uq_f 001110 ..... ... 101 .......... ..... @f0e_df_1 5791ca74648SRichard Hendersonfcnv_uw_d 001110 ..... ... 101 .......... ..... @f0e_fd_1 5801ca74648SRichard Hendersonfcnv_uq_d 001110 ..... ... 101 .......... ..... @f0e_dd_1 5811ca74648SRichard Henderson 5821ca74648SRichard Henderson# float/int 5831ca74648SRichard Hendersonfcnv_f_uw 001100 ..... ... 110 00 00 ...... ..... @f0c_1 5841ca74648SRichard Hendersonfcnv_d_uw 001100 ..... ... 110 00 01 ...... ..... @f0c_1 5851ca74648SRichard Hendersonfcnv_f_uq 001100 ..... ... 110 01 00 ...... ..... @f0c_1 5861ca74648SRichard Hendersonfcnv_d_uq 001100 ..... ... 110 01 01 ...... ..... @f0c_1 5871ca74648SRichard Henderson 5881ca74648SRichard Hendersonfcnv_f_uw 001110 ..... ... 110 .......... ..... @f0e_ff_1 5891ca74648SRichard Hendersonfcnv_d_uw 001110 ..... ... 110 .......... ..... @f0e_df_1 5901ca74648SRichard Hendersonfcnv_f_uq 001110 ..... ... 110 .......... ..... @f0e_fd_1 5911ca74648SRichard Hendersonfcnv_d_uq 001110 ..... ... 110 .......... ..... @f0e_dd_1 5921ca74648SRichard Henderson 5931ca74648SRichard Henderson# float/int truncate 5941ca74648SRichard Hendersonfcnv_t_f_uw 001100 ..... ... 111 00 00 ...... ..... @f0c_1 5951ca74648SRichard Hendersonfcnv_t_d_uw 001100 ..... ... 111 00 01 ...... ..... @f0c_1 5961ca74648SRichard Hendersonfcnv_t_f_uq 001100 ..... ... 111 01 00 ...... ..... @f0c_1 5971ca74648SRichard Hendersonfcnv_t_d_uq 001100 ..... ... 111 01 01 ...... ..... @f0c_1 5981ca74648SRichard Henderson 5991ca74648SRichard Hendersonfcnv_t_f_uw 001110 ..... ... 111 .......... ..... @f0e_ff_1 6001ca74648SRichard Hendersonfcnv_t_d_uw 001110 ..... ... 111 .......... ..... @f0e_df_1 6011ca74648SRichard Hendersonfcnv_t_f_uq 001110 ..... ... 111 .......... ..... @f0e_fd_1 6021ca74648SRichard Hendersonfcnv_t_d_uq 001110 ..... ... 111 .......... ..... @f0e_dd_1 6031ca74648SRichard Henderson 6041ca74648SRichard Henderson# Floating point class 2 6051ca74648SRichard Henderson 6061ca74648SRichard Hendersonftest 001100 00000 00000 y:3 00 10000 1 c:5 6071ca74648SRichard Henderson 6081ca74648SRichard Hendersonfcmp_f 001100 ..... ..... ... 00 ..... 0 ..... @f0c_2 6091ca74648SRichard Hendersonfcmp_d 001100 ..... ..... ... 01 ..... 0 ..... @f0c_2 6101ca74648SRichard Henderson 6111ca74648SRichard Hendersonfcmp_f 001110 ..... ..... ... ..... ... ..... @f0e_f_2 6121ca74648SRichard Hendersonfcmp_d 001110 ..... ..... ... ..... ... ..... @f0e_d_2 6131ca74648SRichard Henderson 6141ca74648SRichard Henderson# Floating point class 3 6151ca74648SRichard Henderson 6161ca74648SRichard Hendersonfadd_f 001100 ..... ..... 000 00 ...... ..... @f0c_3 6171ca74648SRichard Hendersonfsub_f 001100 ..... ..... 001 00 ...... ..... @f0c_3 6181ca74648SRichard Hendersonfmpy_f 001100 ..... ..... 010 00 ...... ..... @f0c_3 6191ca74648SRichard Hendersonfdiv_f 001100 ..... ..... 011 00 ...... ..... @f0c_3 6201ca74648SRichard Henderson 6211ca74648SRichard Hendersonfadd_d 001100 ..... ..... 000 01 ...... ..... @f0c_3 6221ca74648SRichard Hendersonfsub_d 001100 ..... ..... 001 01 ...... ..... @f0c_3 6231ca74648SRichard Hendersonfmpy_d 001100 ..... ..... 010 01 ...... ..... @f0c_3 6241ca74648SRichard Hendersonfdiv_d 001100 ..... ..... 011 01 ...... ..... @f0c_3 6251ca74648SRichard Henderson 6261ca74648SRichard Hendersonfadd_f 001110 ..... ..... 000 ..... ... ..... @f0e_f_3 6271ca74648SRichard Hendersonfsub_f 001110 ..... ..... 001 ..... ... ..... @f0e_f_3 6281ca74648SRichard Hendersonfmpy_f 001110 ..... ..... 010 ..... ... ..... @f0e_f_3 6291ca74648SRichard Hendersonfdiv_f 001110 ..... ..... 011 ..... ... ..... @f0e_f_3 6301ca74648SRichard Henderson 6311ca74648SRichard Hendersonfadd_d 001110 ..... ..... 000 ..... ... ..... @f0e_d_3 6321ca74648SRichard Hendersonfsub_d 001110 ..... ..... 001 ..... ... ..... @f0e_d_3 6331ca74648SRichard Hendersonfmpy_d 001110 ..... ..... 010 ..... ... ..... @f0e_d_3 6341ca74648SRichard Hendersonfdiv_d 001110 ..... ..... 011 ..... ... ..... @f0e_d_3 6351ca74648SRichard Henderson 6361ca74648SRichard Hendersonxmpyu 001110 ..... ..... 010 .0111 .00 t:5 r1=%ra64 r2=%rb64 63715da177bSSven Schnelle 63815da177bSSven Schnelle# diag 63938193127SRichard Henderson{ 64038193127SRichard Henderson [ 64138193127SRichard Henderson diag_btlb 000101 00 0000 0000 0000 0001 0000 0000 64238193127SRichard Henderson diag_cout 000101 00 0000 0000 0000 0001 0000 0001 643*3bdf2081SHelge Deller 644*3bdf2081SHelge Deller # For 32-bit PA-7300LC (PCX-L2) 645*3bdf2081SHelge Deller diag_getshadowregs_pa1 000101 00 0000 0000 0001 1010 0000 0000 646*3bdf2081SHelge Deller diag_putshadowregs_pa1 000101 00 0000 0000 0001 1010 0100 0000 647*3bdf2081SHelge Deller 648*3bdf2081SHelge Deller # For 64-bit PA8700 (PCX-W2) 649*3bdf2081SHelge Deller diag_getshadowregs_pa2 000101 00 0111 1000 0001 1000 0100 0000 650*3bdf2081SHelge Deller diag_putshadowregs_pa2 000101 00 0111 0000 0001 1000 0100 0000 65138193127SRichard Henderson ] 65238193127SRichard Henderson diag_unimp 000101 i:26 65338193127SRichard Henderson} 654