xref: /qemu/target/hppa/insns.decode (revision 3bbb8e4832b56cea29a61eb32cfb4931e00244c1)
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
27740038d7SRichard Henderson%assemble_11a   0:s1 4:10            !function=expand_shl3
2801afb7beSRichard Henderson%assemble_12    0:s1 2:1 3:10        !function=expand_shl2
29740038d7SRichard Henderson%assemble_12a   0:s1 3:11            !function=expand_shl2
308340f534SRichard Henderson%assemble_17    0:s1 16:5 2:1 3:10   !function=expand_shl2
318340f534SRichard Henderson%assemble_22    0:s1 16:10 2:1 3:10  !function=expand_shl2
3201afb7beSRichard Henderson
330588e061SRichard Henderson%assemble_21    0:s1 1:11 14:2 16:5 12:2  !function=expand_shl11
340588e061SRichard Henderson
350588e061SRichard Henderson%lowsign_11     0:s1 1:10
360588e061SRichard Henderson%lowsign_14     0:s1 1:13
370588e061SRichard Henderson
38e36f27efSRichard Henderson%sm_imm         16:10 !function=expand_sm_imm
39e36f27efSRichard Henderson
40740038d7SRichard Henderson%rm64           1:1 16:5
41e8777db7SRichard Henderson%rt64           6:1 0:5
42c3bad4f8SRichard Henderson%ra64           7:1 21:5
43c3bad4f8SRichard Henderson%rb64           12:1 16:5
44c3bad4f8SRichard Henderson%rc64           8:1 13:3 9:2
45c3bad4f8SRichard Henderson%rc32           13:3 9:2
46740038d7SRichard Henderson
471cd012a5SRichard Henderson%im5_0          0:s1 1:4
481cd012a5SRichard Henderson%im5_16         16:s1 17:4
4972ae4f2bSRichard Henderson%len5           0:5      !function=assemble_6
5072ae4f2bSRichard Henderson%len6_8         8:1 0:5  !function=assemble_6
5172ae4f2bSRichard Henderson%len6_12        12:1 0:5 !function=assemble_6
5272ae4f2bSRichard Henderson%cpos6_11       11:1 5:5
531cd012a5SRichard Henderson%ma_to_m        5:1 13:1 !function=ma_to_m
54740038d7SRichard Henderson%ma2_to_m       2:2      !function=ma_to_m
55740038d7SRichard Henderson%pos_to_m       0:1      !function=pos_to_m
56740038d7SRichard Henderson%neg_to_m       0:1      !function=neg_to_m
57740038d7SRichard Henderson%a_to_m         2:1      !function=neg_to_m
58c65c3ee1SRichard Henderson%cmpbid_c       13:2     !function=cmpbid_c
591cd012a5SRichard Henderson
60c603e14aSRichard Henderson####
61deee69a1SRichard Henderson# Argument set definitions
62deee69a1SRichard Henderson####
63deee69a1SRichard Henderson
64deee69a1SRichard Henderson# All insns that need to form a virtual address should use this set.
65deee69a1SRichard Henderson&ldst           t b x disp sp m scale size
66deee69a1SRichard Henderson
67af240753SRichard Henderson&rr_cf_d        t r cf d
680843563fSRichard Henderson&rrr            t r1 r2
690c982a28SRichard Henderson&rrr_cf         t r1 r2 cf
70fa8e3bedSRichard Henderson&rrr_cf_d       t r1 r2 cf d
71*3bbb8e48SRichard Henderson&rrr_sh         t r1 r2 sh
72faf97ba1SRichard Henderson&rrr_cf_d_sh    t r1 r2 cf d sh
73151f309bSRichard Henderson&rri            t r i
740588e061SRichard Henderson&rri_cf         t r i cf
75345aa35fSRichard Henderson&rri_cf_d       t r i cf d
760c982a28SRichard Henderson
7701afb7beSRichard Henderson&rrb_c_f        disp n c f r1 r2
78e9efd4bcSRichard Henderson&rrb_c_d_f      disp n c d f r1 r2
7901afb7beSRichard Henderson&rib_c_f        disp n c f r i
80c65c3ee1SRichard Henderson&rib_c_d_f      disp n c d f r i
8101afb7beSRichard Henderson
820c982a28SRichard Henderson####
830c982a28SRichard Henderson# Format definitions
840c982a28SRichard Henderson####
850c982a28SRichard Henderson
86af240753SRichard Henderson@rr_cf_d        ...... r:5 ..... cf:4 ...... d:1 t:5    &rr_cf_d
870843563fSRichard Henderson@rrr            ...... r2:5 r1:5 .... ....... t:5       &rrr
880c982a28SRichard Henderson@rrr_cf         ...... r2:5 r1:5 cf:4 ....... t:5       &rrr_cf
89fa8e3bedSRichard Henderson@rrr_cf_d       ...... r2:5 r1:5 cf:4 ...... d:1 t:5    &rrr_cf_d
90*3bbb8e48SRichard Henderson@rrr_sh         ...... r2:5 r1:5 ........ sh:2 . t:5    &rrr_sh
91faf97ba1SRichard Henderson@rrr_cf_d_sh    ...... r2:5 r1:5 cf:4 .... sh:2 d:1 t:5 &rrr_cf_d_sh
92faf97ba1SRichard Henderson@rrr_cf_d_sh0   ...... r2:5 r1:5 cf:4 ...... d:1 t:5    &rrr_cf_d_sh sh=0
930588e061SRichard Henderson@rri_cf         ...... r:5  t:5  cf:4 . ...........     &rri_cf i=%lowsign_11
94345aa35fSRichard Henderson@rri_cf_d       ...... r:5  t:5  cf:4 d:1 ...........   &rri_cf_d i=%lowsign_11
950c982a28SRichard Henderson
9601afb7beSRichard Henderson@rrb_cf         ...... r2:5 r1:5 c:3 ........... n:1 .  \
9701afb7beSRichard Henderson                &rrb_c_f disp=%assemble_12
98e9efd4bcSRichard Henderson@rrb_cdf        ...... r2:5 r1:5 c:3 ........... n:1 .  \
99e9efd4bcSRichard Henderson                &rrb_c_d_f disp=%assemble_12
10001afb7beSRichard Henderson@rib_cf         ...... r:5 ..... c:3 ........... n:1 .  \
10101afb7beSRichard Henderson                &rib_c_f disp=%assemble_12 i=%im5_16
102c65c3ee1SRichard Henderson@rib_cdf        ...... r:5 ..... c:3 ........... n:1 .  \
103c65c3ee1SRichard Henderson                &rib_c_d_f disp=%assemble_12 i=%im5_16
10401afb7beSRichard Henderson
105deee69a1SRichard Henderson####
10640f9f908SRichard Henderson# System
10740f9f908SRichard Henderson####
10840f9f908SRichard Henderson
10940f9f908SRichard Hendersonbreak           000000 ----- ----- --- 00000000 -----
110c603e14aSRichard Henderson
111c603e14aSRichard Hendersonmtsp            000000 ----- r:5   ... 11000001 00000   sp=%assemble_sr3
112c603e14aSRichard Hendersonmtctl           000000 t:5   r:5   --- 11000010 00000
113c603e14aSRichard Hendersonmtsarcm         000000 01011 r:5   --- 11000110 00000
114c603e14aSRichard Hendersonmtsm            000000 00000 r:5   000 11000011 00000
115c603e14aSRichard Henderson
116c603e14aSRichard Hendersonmfia            000000 ----- 00000 ---   10100101 t:5
117c603e14aSRichard Hendersonmfsp            000000 ----- 00000 ...   00100101 t:5   sp=%assemble_sr3
118c603e14aSRichard Hendersonmfctl           000000 r:5   00000- e:1 -01000101 t:5
119e36f27efSRichard Henderson
120e36f27efSRichard Hendersonsync            000000 ----- ----- 000 00100000 00000   # sync, syncdma
121e36f27efSRichard Henderson
122e36f27efSRichard Hendersonldsid           000000 b:5   ----- sp:2 0 10000101 t:5
123e36f27efSRichard Henderson
124e36f27efSRichard Hendersonrsm             000000 ..........  000 01110011 t:5     i=%sm_imm
125e36f27efSRichard Hendersonssm             000000 ..........  000 01101011 t:5     i=%sm_imm
126e36f27efSRichard Henderson
127e36f27efSRichard Hendersonrfi             000000 ----- ----- --- 01100000 00000
128e36f27efSRichard Hendersonrfi_r           000000 ----- ----- --- 01100101 00000
129deee69a1SRichard Henderson
13096927adbSRichard Henderson# These are artificial instructions used by QEMU firmware.
13196927adbSRichard Henderson# They are allocated from the unassigned instruction space.
13296927adbSRichard Hendersonhalt            1111 1111 1111 1101 1110 1010 1101 0000
13396927adbSRichard Hendersonreset           1111 1111 1111 1101 1110 1010 1101 0001
1344a4554c6SHelge Dellergetshadowregs   1111 1111 1111 1101 1110 1010 1101 0010
13596927adbSRichard Henderson
136deee69a1SRichard Henderson####
137deee69a1SRichard Henderson# Memory Management
138deee69a1SRichard Henderson####
139deee69a1SRichard Henderson
140deee69a1SRichard Henderson@addrx          ...... b:5 x:5 .. ........ m:1 .....    \
141deee69a1SRichard Henderson                &ldst disp=0 scale=0 t=0 sp=0 size=0
142deee69a1SRichard Henderson
143deee69a1SRichard Hendersonnop             000001 ----- ----- -- 11001010 0 -----         # fdc, disp
144deee69a1SRichard Hendersonnop_addrx       000001 ..... ..... -- 01001010 . -----  @addrx # fdc, index
145deee69a1SRichard Hendersonnop_addrx       000001 ..... ..... -- 01001011 . -----  @addrx # fdce
146deee69a1SRichard Hendersonnop_addrx       000001 ..... ..... --- 0001010 . -----  @addrx # fic 0x0a
147deee69a1SRichard Hendersonnop_addrx       000001 ..... ..... -- 01001111 . 00000  @addrx # fic 0x4f
148deee69a1SRichard Hendersonnop_addrx       000001 ..... ..... --- 0001011 . -----  @addrx # fice
149deee69a1SRichard Hendersonnop_addrx       000001 ..... ..... -- 01001110 . 00000  @addrx # pdc
150deee69a1SRichard Henderson
151deee69a1SRichard Hendersonprobe           000001 b:5 ri:5 sp:2 imm:1 100011 write:1 0 t:5
152deee69a1SRichard Henderson
1538577f354SRichard Henderson# pa1.x tlb insert instructions
154deee69a1SRichard Hendersonixtlbx          000001 b:5 r:5 sp:2 0100000 addr:1 0 00000      data=1
155deee69a1SRichard Hendersonixtlbx          000001 b:5 r:5 ... 000000 addr:1 0 00000        \
156deee69a1SRichard Henderson                sp=%assemble_sr3x data=0
157deee69a1SRichard Henderson
1586797c315SNick Hudson# pcxl and pcxl2 Fast TLB Insert instructions
1596797c315SNick Hudsonixtlbxf         000001 00000 r:5 00 0 data:1 01000 addr:1 0 00000
1606797c315SNick Hudson
1618577f354SRichard Henderson# pa2.0 tlb insert idtlbt and iitlbt instructions
1628577f354SRichard Hendersonixtlbt          000001 r2:5 r1:5 000 data:1 100000 0 00000    # idtlbt
1638577f354SRichard Henderson
164deee69a1SRichard Hendersonpxtlbx          000001 b:5 x:5 sp:2 0100100 local:1 m:1 -----   data=1
165deee69a1SRichard Hendersonpxtlbx          000001 b:5 x:5 ... 000100 local:1 m:1 -----     \
166deee69a1SRichard Henderson                sp=%assemble_sr3x data=0
167deee69a1SRichard Henderson
168deee69a1SRichard Hendersonlpa             000001 b:5 x:5 sp:2 01001101 m:1 t:5    \
169deee69a1SRichard Henderson                &ldst disp=0 scale=0 size=0
170deee69a1SRichard Henderson
171deee69a1SRichard Hendersonlci             000001 ----- ----- -- 01001100 0 t:5
1720c982a28SRichard Henderson
1730c982a28SRichard Henderson####
1740c982a28SRichard Henderson# Arith/Log
1750c982a28SRichard Henderson####
1760c982a28SRichard Henderson
177fa8e3bedSRichard Hendersonandcm           000010 ..... ..... .... 000000 . .....  @rrr_cf_d
178fa8e3bedSRichard Hendersonand             000010 ..... ..... .... 001000 . .....  @rrr_cf_d
179fa8e3bedSRichard Hendersonor              000010 ..... ..... .... 001001 . .....  @rrr_cf_d
180fa8e3bedSRichard Hendersonxor             000010 ..... ..... .... 001010 . .....  @rrr_cf_d
181af240753SRichard Hendersonuxor            000010 ..... ..... .... 001110 . .....  @rrr_cf_d
1820c982a28SRichard Hendersonds              000010 ..... ..... .... 010001 0 .....  @rrr_cf
183345aa35fSRichard Hendersoncmpclr          000010 ..... ..... .... 100010 . .....  @rrr_cf_d
184af240753SRichard Hendersonuaddcm          000010 ..... ..... .... 100110 . .....  @rrr_cf_d
185af240753SRichard Hendersonuaddcm_tc       000010 ..... ..... .... 100111 . .....  @rrr_cf_d
186af240753SRichard Hendersondcor            000010 ..... 00000 .... 101110 . .....  @rr_cf_d
187af240753SRichard Hendersondcor_i          000010 ..... 00000 .... 101111 . .....  @rr_cf_d
1880c982a28SRichard Henderson
189faf97ba1SRichard Hendersonadd             000010 ..... ..... .... 0110.. . .....  @rrr_cf_d_sh
190faf97ba1SRichard Hendersonadd_l           000010 ..... ..... .... 1010.. . .....  @rrr_cf_d_sh
191faf97ba1SRichard Hendersonadd_tsv         000010 ..... ..... .... 1110.. . .....  @rrr_cf_d_sh
192*3bbb8e48SRichard Henderson{
193faf97ba1SRichard Henderson  add_c         000010 ..... ..... .... 011100 . .....  @rrr_cf_d_sh0
194*3bbb8e48SRichard Henderson  hshladd       000010 ..... ..... 0000 0111.. 0 .....  @rrr_sh
195*3bbb8e48SRichard Henderson}
196faf97ba1SRichard Hendersonadd_c_tsv       000010 ..... ..... .... 111100 . .....  @rrr_cf_d_sh0
1970c982a28SRichard Henderson
19863c427c6SRichard Hendersonsub             000010 ..... ..... .... 010000 . .....  @rrr_cf_d
19963c427c6SRichard Hendersonsub_tsv         000010 ..... ..... .... 110000 . .....  @rrr_cf_d
20063c427c6SRichard Hendersonsub_tc          000010 ..... ..... .... 010011 . .....  @rrr_cf_d
20163c427c6SRichard Hendersonsub_tsv_tc      000010 ..... ..... .... 110011 . .....  @rrr_cf_d
202*3bbb8e48SRichard Henderson{
20363c427c6SRichard Henderson  sub_b         000010 ..... ..... .... 010100 . .....  @rrr_cf_d
204*3bbb8e48SRichard Henderson  hshradd       000010 ..... ..... 0000 0101.. 0 .....  @rrr_sh
205*3bbb8e48SRichard Henderson}
20663c427c6SRichard Hendersonsub_b_tsv       000010 ..... ..... .... 110100 . .....  @rrr_cf_d
2071cd012a5SRichard Henderson
2080588e061SRichard Hendersonldil            001000 t:5 .....................        i=%assemble_21
2090588e061SRichard Hendersonaddil           001010 r:5 .....................        i=%assemble_21
2100588e061SRichard Hendersonldo             001101 b:5 t:5 -- ..............        i=%lowsign_14
2110588e061SRichard Henderson
2120588e061SRichard Hendersonaddi            101101 ..... ..... .... 0 ...........   @rri_cf
2130588e061SRichard Hendersonaddi_tsv        101101 ..... ..... .... 1 ...........   @rri_cf
2140588e061SRichard Hendersonaddi_tc         101100 ..... ..... .... 0 ...........   @rri_cf
2150588e061SRichard Hendersonaddi_tc_tsv     101100 ..... ..... .... 1 ...........   @rri_cf
2160588e061SRichard Henderson
2170588e061SRichard Hendersonsubi            100101 ..... ..... .... 0 ...........   @rri_cf
2180588e061SRichard Hendersonsubi_tsv        100101 ..... ..... .... 1 ...........   @rri_cf
2190588e061SRichard Henderson
220345aa35fSRichard Hendersoncmpiclr         100100 ..... ..... .... . ...........   @rri_cf_d
2210588e061SRichard Henderson
2220843563fSRichard Hendersonhadd            000010 ..... ..... 00000011 11 0 .....  @rrr
2230843563fSRichard Hendersonhadd_ss         000010 ..... ..... 00000011 01 0 .....  @rrr
2240843563fSRichard Hendersonhadd_us         000010 ..... ..... 00000011 00 0 .....  @rrr
2250843563fSRichard Henderson
2261b3cb7c8SRichard Hendersonhavg            000010 ..... ..... 00000010 11 0 .....  @rrr
2271b3cb7c8SRichard Henderson
228151f309bSRichard Hendersonhshl            111110 00000 r:5   100010 i:4  0 t:5    &rri
229151f309bSRichard Hendersonhshr_s          111110 r:5   00000 110011 i:4  0 t:5    &rri
230151f309bSRichard Hendersonhshr_u          111110 r:5   00000 110010 i:4  0 t:5    &rri
231151f309bSRichard Henderson
23210c9e58dSRichard Hendersonhsub            000010 ..... ..... 00000001 11 0 .....  @rrr
23310c9e58dSRichard Hendersonhsub_ss         000010 ..... ..... 00000001 01 0 .....  @rrr
23410c9e58dSRichard Hendersonhsub_us         000010 ..... ..... 00000001 00 0 .....  @rrr
23510c9e58dSRichard Henderson
2361cd012a5SRichard Henderson####
2371cd012a5SRichard Henderson# Index Mem
2381cd012a5SRichard Henderson####
2391cd012a5SRichard Henderson
2401cd012a5SRichard Henderson@ldstx          ...... b:5 x:5 sp:2 scale:1 ....... m:1 t:5     &ldst disp=0
2411cd012a5SRichard Henderson@ldim5          ...... b:5 ..... sp:2 ......... t:5     \
2421cd012a5SRichard Henderson                &ldst disp=%im5_16 x=0 scale=0 m=%ma_to_m
2431cd012a5SRichard Henderson@stim5          ...... b:5 t:5 sp:2 ......... .....     \
2441cd012a5SRichard Henderson                &ldst disp=%im5_0 x=0 scale=0 m=%ma_to_m
2451cd012a5SRichard Henderson
2461cd012a5SRichard Hendersonld              000011 ..... ..... .. . 1 -- 00 size:2 ......   @ldim5
2471cd012a5SRichard Hendersonld              000011 ..... ..... .. . 0 -- 00 size:2 ......   @ldstx
2481cd012a5SRichard Hendersonst              000011 ..... ..... .. . 1 -- 10 size:2 ......   @stim5
2491cd012a5SRichard Hendersonldc             000011 ..... ..... .. . 1 -- 0111      ......   @ldim5 size=2
2501cd012a5SRichard Hendersonldc             000011 ..... ..... .. . 0 -- 0111      ......   @ldstx size=2
25151416c4eSRichard Hendersonldc             000011 ..... ..... .. . 1 -- 0101      ......   @ldim5 size=3
25251416c4eSRichard Hendersonldc             000011 ..... ..... .. . 0 -- 0101      ......   @ldstx size=3
2531cd012a5SRichard Hendersonlda             000011 ..... ..... .. . 1 -- 0110      ......   @ldim5 size=2
2541cd012a5SRichard Hendersonlda             000011 ..... ..... .. . 0 -- 0110      ......   @ldstx size=2
25551416c4eSRichard Hendersonlda             000011 ..... ..... .. . 1 -- 0100      ......   @ldim5 size=3
25651416c4eSRichard Hendersonlda             000011 ..... ..... .. . 0 -- 0100      ......   @ldstx size=3
2571cd012a5SRichard Hendersonsta             000011 ..... ..... .. . 1 -- 1110      ......   @stim5 size=2
25851416c4eSRichard Hendersonsta             000011 ..... ..... .. . 1 -- 1111      ......   @stim5 size=3
2591cd012a5SRichard Hendersonstby            000011 b:5 r:5 sp:2 a:1 1 -- 1100 m:1   .....   disp=%im5_0
26025460fc5SRichard Hendersonstdby           000011 b:5 r:5 sp:2 a:1 1 -- 1101 m:1   .....   disp=%im5_0
261b1e2af57SRichard Henderson
262e8777db7SRichard Henderson@fldstwx        ...... b:5 x:5   sp:2 scale:1 ....... m:1 ..... \
263e8777db7SRichard Henderson                &ldst t=%rt64 disp=0 size=2
264e8777db7SRichard Henderson@fldstwi        ...... b:5 ..... sp:2 .       ....... .   ..... \
265e8777db7SRichard Henderson                &ldst t=%rt64 disp=%im5_16 m=%ma_to_m x=0 scale=0 size=2
266e8777db7SRichard Henderson
267e8777db7SRichard Hendersonfldw            001001 ..... ..... .. . 0 -- 000 . . .....      @fldstwx
268e8777db7SRichard Hendersonfldw            001001 ..... ..... .. . 1 -- 000 . . .....      @fldstwi
269e8777db7SRichard Hendersonfstw            001001 ..... ..... .. . 0 -- 100 . . .....      @fldstwx
270e8777db7SRichard Hendersonfstw            001001 ..... ..... .. . 1 -- 100 . . .....      @fldstwi
271e8777db7SRichard Henderson
272e8777db7SRichard Henderson@fldstdx        ...... b:5 x:5   sp:2 scale:1 ....... m:1 t:5 \
273e8777db7SRichard Henderson                &ldst disp=0 size=3
274e8777db7SRichard Henderson@fldstdi        ...... b:5 ..... sp:2 .       ....... .   t:5 \
275e8777db7SRichard Henderson                &ldst disp=%im5_16 m=%ma_to_m x=0 scale=0 size=3
276e8777db7SRichard Henderson
277e8777db7SRichard Hendersonfldd            001011 ..... ..... .. . 0 -- 000 0 . .....      @fldstdx
278e8777db7SRichard Hendersonfldd            001011 ..... ..... .. . 1 -- 000 0 . .....      @fldstdi
279e8777db7SRichard Hendersonfstd            001011 ..... ..... .. . 0 -- 100 0 . .....      @fldstdx
280e8777db7SRichard Hendersonfstd            001011 ..... ..... .. . 1 -- 100 0 . .....      @fldstdi
281e8777db7SRichard Henderson
282b1e2af57SRichard Henderson####
283740038d7SRichard Henderson# Offset Mem
284740038d7SRichard Henderson####
285740038d7SRichard Henderson
28651416c4eSRichard Henderson@ldstim11       ...... b:5 t:5 sp:2 ..............      \
28751416c4eSRichard Henderson                &ldst disp=%assemble_11a m=%ma2_to_m x=0 scale=0 size=3
288740038d7SRichard Henderson@ldstim14       ...... b:5 t:5 sp:2 ..............      \
289740038d7SRichard Henderson                &ldst disp=%lowsign_14 x=0 scale=0 m=0
290740038d7SRichard Henderson@ldstim14m      ...... b:5 t:5 sp:2 ..............      \
291740038d7SRichard Henderson                &ldst disp=%lowsign_14 x=0 scale=0 m=%neg_to_m
292740038d7SRichard Henderson@ldstim12m      ...... b:5 t:5 sp:2 ..............      \
293740038d7SRichard Henderson                &ldst disp=%assemble_12a x=0 scale=0 m=%pos_to_m
294740038d7SRichard Henderson
295740038d7SRichard Henderson# LDB, LDH, LDW, LDWM
296740038d7SRichard Hendersonld              010000 ..... ..... .. ..............    @ldstim14  size=0
297740038d7SRichard Hendersonld              010001 ..... ..... .. ..............    @ldstim14  size=1
298740038d7SRichard Hendersonld              010010 ..... ..... .. ..............    @ldstim14  size=2
299740038d7SRichard Hendersonld              010011 ..... ..... .. ..............    @ldstim14m size=2
300740038d7SRichard Hendersonld              010111 ..... ..... .. ...........10.    @ldstim12m size=2
301740038d7SRichard Henderson
302740038d7SRichard Henderson# STB, STH, STW, STWM
303740038d7SRichard Hendersonst              011000 ..... ..... .. ..............    @ldstim14  size=0
304740038d7SRichard Hendersonst              011001 ..... ..... .. ..............    @ldstim14  size=1
305740038d7SRichard Hendersonst              011010 ..... ..... .. ..............    @ldstim14  size=2
306740038d7SRichard Hendersonst              011011 ..... ..... .. ..............    @ldstim14m size=2
307740038d7SRichard Hendersonst              011111 ..... ..... .. ...........10.    @ldstim12m size=2
308740038d7SRichard Henderson
309740038d7SRichard Hendersonfldw            010110 b:5 ..... sp:2 ..............    \
310740038d7SRichard Henderson                &ldst disp=%assemble_12a t=%rm64 m=%a_to_m x=0 scale=0 size=2
311740038d7SRichard Hendersonfldw            010111 b:5 ..... sp:2 ...........0..    \
312740038d7SRichard Henderson                &ldst disp=%assemble_12a t=%rm64 m=0 x=0 scale=0 size=2
313740038d7SRichard Henderson
314740038d7SRichard Hendersonfstw            011110 b:5 ..... sp:2 ..............    \
315740038d7SRichard Henderson                &ldst disp=%assemble_12a t=%rm64 m=%a_to_m x=0 scale=0 size=2
316740038d7SRichard Hendersonfstw            011111 b:5 ..... sp:2 ...........0..    \
317740038d7SRichard Henderson                &ldst disp=%assemble_12a t=%rm64 m=0 x=0 scale=0 size=2
318740038d7SRichard Henderson
31951416c4eSRichard Hendersonld              010100 ..... ..... .. ............0.    @ldstim11
32051416c4eSRichard Hendersonfldd            010100 ..... ..... .. ............1.    @ldstim11
321740038d7SRichard Henderson
32251416c4eSRichard Hendersonst              011100 ..... ..... .. ............0.    @ldstim11
32351416c4eSRichard Hendersonfstd            011100 ..... ..... .. ............1.    @ldstim11
324740038d7SRichard Henderson
325740038d7SRichard Henderson####
326b1e2af57SRichard Henderson# Floating-point Multiply Add
327b1e2af57SRichard Henderson####
328b1e2af57SRichard Henderson
329b1e2af57SRichard Henderson&mpyadd         rm1 rm2 ta ra tm
330b1e2af57SRichard Henderson@mpyadd         ...... rm1:5 rm2:5 ta:5 ra:5 . tm:5     &mpyadd
331b1e2af57SRichard Henderson
332b1e2af57SRichard Hendersonfmpyadd_f       000110 ..... ..... ..... ..... 0 .....  @mpyadd
333b1e2af57SRichard Hendersonfmpyadd_d       000110 ..... ..... ..... ..... 1 .....  @mpyadd
334b1e2af57SRichard Hendersonfmpysub_f       100110 ..... ..... ..... ..... 0 .....  @mpyadd
335b1e2af57SRichard Hendersonfmpysub_d       100110 ..... ..... ..... ..... 1 .....  @mpyadd
33601afb7beSRichard Henderson
33701afb7beSRichard Henderson####
33801afb7beSRichard Henderson# Conditional Branches
33901afb7beSRichard Henderson####
34001afb7beSRichard Henderson
34184e224d4SRichard Hendersonbb_sar          110000 00000 r:5 c:1 1 d:1 ........... n:1 . disp=%assemble_12
34284e224d4SRichard Hendersonbb_imm          110001 p:5   r:5 c:1 1 d:1 ........... n:1 . disp=%assemble_12
34301afb7beSRichard Henderson
34401afb7beSRichard Hendersonmovb            110010 ..... ..... ... ........... . .  @rrb_cf f=0
34501afb7beSRichard Hendersonmovbi           110011 ..... ..... ... ........... . .  @rib_cf f=0
34601afb7beSRichard Henderson
347e9efd4bcSRichard Hendersoncmpb            100000 ..... ..... ... ........... . .  @rrb_cdf d=0 f=0
348e9efd4bcSRichard Hendersoncmpb            100010 ..... ..... ... ........... . .  @rrb_cdf d=0 f=1
349e9efd4bcSRichard Hendersoncmpb            100111 ..... ..... ... ........... . .  @rrb_cdf d=1 f=0
350e9efd4bcSRichard Hendersoncmpb            101111 ..... ..... ... ........... . .  @rrb_cdf d=1 f=1
351c65c3ee1SRichard Hendersoncmpbi           100001 ..... ..... ... ........... . .  @rib_cdf d=0 f=0
352c65c3ee1SRichard Hendersoncmpbi           100011 ..... ..... ... ........... . .  @rib_cdf d=0 f=1
353c65c3ee1SRichard Hendersoncmpbi           111011 r:5 ..... f:1 .. ........... n:1 . \
354c65c3ee1SRichard Henderson                &rib_c_d_f d=1 disp=%assemble_12 c=%cmpbid_c i=%im5_16
35501afb7beSRichard Henderson
35601afb7beSRichard Hendersonaddb            101000 ..... ..... ... ........... . .  @rrb_cf f=0
35701afb7beSRichard Hendersonaddb            101010 ..... ..... ... ........... . .  @rrb_cf f=1
35801afb7beSRichard Hendersonaddbi           101001 ..... ..... ... ........... . .  @rib_cf f=0
35901afb7beSRichard Hendersonaddbi           101011 ..... ..... ... ........... . .  @rib_cf f=1
36030878590SRichard Henderson
36130878590SRichard Henderson####
36230878590SRichard Henderson# Shift, Extract, Deposit
36330878590SRichard Henderson####
36430878590SRichard Henderson
365f7b775a9SRichard Hendersonshrp_sar        110100 r2:5 r1:5 c:3 00 0 d:1 0000  t:5
366f7b775a9SRichard Hendersonshrp_imm        110100 r2:5 r1:5 c:3 01 0 cpos:5    t:5       d=0
367f7b775a9SRichard Hendersonshrp_imm        110100 r2:5 r1:5 c:3 0. 1 .....  t:5          \
368f7b775a9SRichard Henderson                d=1 cpos=%cpos6_11
36930878590SRichard Henderson
370bd792da3SRichard Hendersonextr_sar        110100 r:5  t:5  c:3 10 se:1 00 000 .....     d=0 len=%len5
371bd792da3SRichard Hendersonextr_sar        110100 r:5  t:5  c:3 10 se:1 1. 000 .....     d=1 len=%len6_8
372bd792da3SRichard Hendersonextr_imm        110100 r:5  t:5  c:3 11 se:1 pos:5  .....     d=0 len=%len5
373bd792da3SRichard Hendersonextr_imm        110110 r:5  t:5  c:3 .. se:1 ..... .....      \
374bd792da3SRichard Henderson                d=1 len=%len6_12 pos=%cpos6_11
37530878590SRichard Henderson
37672ae4f2bSRichard Hendersondep_sar         110101 t:5 r:5   c:3 00 nz:1 00 000 .....     d=0 len=%len5
37772ae4f2bSRichard Hendersondep_sar         110101 t:5 r:5   c:3 00 nz:1 1. 000 .....     d=1 len=%len6_8
37872ae4f2bSRichard Hendersondep_imm         110101 t:5 r:5   c:3 01 nz:1 cpos:5 .....     d=0 len=%len5
37972ae4f2bSRichard Hendersondep_imm         111100 t:5 r:5   c:3 .. nz:1 ..... .....      \
38072ae4f2bSRichard Henderson                d=1 len=%len6_12 cpos=%cpos6_11
38172ae4f2bSRichard Hendersondepi_sar        110101 t:5 ..... c:3 10 nz:1 d:1 . 000 .....  \
38272ae4f2bSRichard Henderson                i=%im5_16 len=%len6_8
38372ae4f2bSRichard Hendersondepi_imm        110101 t:5 ..... c:3 11 nz:1 cpos:5 .....     \
38472ae4f2bSRichard Henderson                d=0 i=%im5_16 len=%len5
38572ae4f2bSRichard Hendersondepi_imm        111101 t:5 ..... c:3 .. nz:1 ..... .....      \
38672ae4f2bSRichard Henderson                d=1 i=%im5_16 len=%len6_12 cpos=%cpos6_11
3878340f534SRichard Henderson
3888340f534SRichard Henderson####
3898340f534SRichard Henderson# Branch External
3908340f534SRichard Henderson####
3918340f534SRichard Henderson
3928340f534SRichard Henderson&BE             b l n disp sp
3938340f534SRichard Henderson@be             ...... b:5 ..... ... ........... n:1 .  \
3948340f534SRichard Henderson                &BE disp=%assemble_17 sp=%assemble_sr3
3958340f534SRichard Henderson
3968340f534SRichard Hendersonbe              111000 ..... ..... ... ........... . .  @be l=0
3978340f534SRichard Hendersonbe              111001 ..... ..... ... ........... . .  @be l=31
3988340f534SRichard Henderson
3998340f534SRichard Henderson####
4008340f534SRichard Henderson# Branch
4018340f534SRichard Henderson####
4028340f534SRichard Henderson
4038340f534SRichard Henderson&BL             l n disp
4048340f534SRichard Henderson@bl             ...... l:5 ..... ... ........... n:1 .  &BL disp=%assemble_17
4058340f534SRichard Henderson
4068340f534SRichard Henderson# B,L and B,L,PUSH
4078340f534SRichard Hendersonbl              111010 ..... ..... 000 ........... .   .        @bl
4088340f534SRichard Hendersonbl              111010 ..... ..... 100 ........... .   .        @bl
4098340f534SRichard Henderson# B,L (long displacement)
4108340f534SRichard Hendersonbl              111010 ..... ..... 101 ........... n:1 .        &BL l=2 \
4118340f534SRichard Henderson                disp=%assemble_22
4128340f534SRichard Hendersonb_gate          111010 ..... ..... 001 ........... .   .        @bl
4138340f534SRichard Hendersonblr             111010 l:5   x:5   010 00000000000 n:1 0
414a8966ba7SRichard Hendersonnopbts          111010 00000 00000 010 0---------1   0 1    # clrbts/popbts
415a8966ba7SRichard Hendersonnopbts          111010 00000 ----- 010 00000000000   0 1    # pushbts/pushnom
4168340f534SRichard Hendersonbv              111010 b:5   x:5   110 00000000000 n:1 0
4178340f534SRichard Hendersonbve             111010 b:5   00000 110 10000000000 n:1 -        l=0
4188340f534SRichard Hendersonbve             111010 b:5   00000 111 10000000000 n:1 -        l=2
419c3bad4f8SRichard Henderson
420c3bad4f8SRichard Henderson####
421c3bad4f8SRichard Henderson# FP Fused Multiple-Add
422c3bad4f8SRichard Henderson####
423c3bad4f8SRichard Henderson
424c3bad4f8SRichard Hendersonfmpyfadd_f      101110 ..... ..... ... . 0 ... . . neg:1 ..... \
425c3bad4f8SRichard Henderson                rm1=%ra64 rm2=%rb64 ra3=%rc64 t=%rt64
426c3bad4f8SRichard Hendersonfmpyfadd_d      101110 rm1:5 rm2:5 ... 0 1 ..0 0 0 neg:1 t:5    ra3=%rc32
4271ca74648SRichard Henderson
4281ca74648SRichard Henderson####
4291ca74648SRichard Henderson# FP operations
4301ca74648SRichard Henderson####
4311ca74648SRichard Henderson
4321ca74648SRichard Henderson&fclass01       r t
4331ca74648SRichard Henderson&fclass2        r1 r2 c y
4341ca74648SRichard Henderson&fclass3        r1 r2 t
4351ca74648SRichard Henderson
4361ca74648SRichard Henderson@f0c_0          ...... r:5  00000 ..... 00 000 0 t:5    &fclass01
4371ca74648SRichard Henderson@f0c_1          ...... r:5  000.. ..... 01 000 0 t:5    &fclass01
4381ca74648SRichard Henderson@f0c_2          ...... r1:5 r2:5 y:3 .. 10 000 . c:5    &fclass2
4391ca74648SRichard Henderson@f0c_3          ...... r1:5 r2:5  ..... 11 000 0 t:5    &fclass3
4401ca74648SRichard Henderson
4411ca74648SRichard Henderson@f0e_f_0        ...... ..... 00000 ... 0 0 000 .. 0 .....  \
4421ca74648SRichard Henderson                &fclass01 r=%ra64 t=%rt64
4431ca74648SRichard Henderson@f0e_d_0        ...... r:5   00000 ... 0 1 000 00 0 t:5    &fclass01
4441ca74648SRichard Henderson
4451ca74648SRichard Henderson@f0e_ff_1       ...... ..... 000  ... 0000 010 .. 0 .....  \
4461ca74648SRichard Henderson                &fclass01 r=%ra64 t=%rt64
4471ca74648SRichard Henderson@f0e_fd_1       ...... ..... 000  ... 0100 010 .0 0 t:5    &fclass01 r=%ra64
4481ca74648SRichard Henderson@f0e_df_1       ...... r:5   000  ... 0001 010 0. 0 .....  &fclass01 t=%rt64
4491ca74648SRichard Henderson@f0e_dd_1       ...... r:5   000  ... 0101 010 00 0 t:5    &fclass01
4501ca74648SRichard Henderson
4511ca74648SRichard Henderson@f0e_f_2        ...... ..... ..... y:3 .0 100 .00 c:5      \
4521ca74648SRichard Henderson                &fclass2 r1=%ra64 r2=%rb64
4531ca74648SRichard Henderson@f0e_d_2        ...... r1:5  r2:5  y:3 01 100 000 c:5      &fclass2
4541ca74648SRichard Henderson
4551ca74648SRichard Henderson@f0e_f_3        ...... ..... ..... ... .0 110 ..0 .....    \
4561ca74648SRichard Henderson                &fclass3 r1=%ra64 r2=%rb64 t=%rt64
4570843563fSRichard Henderson@f0e_d_3        ...... r1:5  r2:5  ... 01 110 000 t:5      &fclass3
4581ca74648SRichard Henderson
4591ca74648SRichard Henderson# Floating point class 0
4601ca74648SRichard Henderson
46159f8c04bSHelge Dellerfid_f           001100 00000 00000 000 00 000000 00000
4621ca74648SRichard Henderson
4631ca74648SRichard Hendersonfcpy_f          001100 ..... ..... 010 00 ...... .....  @f0c_0
4641ca74648SRichard Hendersonfabs_f          001100 ..... ..... 011 00 ...... .....  @f0c_0
4651ca74648SRichard Hendersonfsqrt_f         001100 ..... ..... 100 00 ...... .....  @f0c_0
4661ca74648SRichard Hendersonfrnd_f          001100 ..... ..... 101 00 ...... .....  @f0c_0
4671ca74648SRichard Hendersonfneg_f          001100 ..... ..... 110 00 ...... .....  @f0c_0
4681ca74648SRichard Hendersonfnegabs_f       001100 ..... ..... 111 00 ...... .....  @f0c_0
4691ca74648SRichard Henderson
4701ca74648SRichard Hendersonfcpy_d          001100 ..... ..... 010 01 ...... .....  @f0c_0
4711ca74648SRichard Hendersonfabs_d          001100 ..... ..... 011 01 ...... .....  @f0c_0
4721ca74648SRichard Hendersonfsqrt_d         001100 ..... ..... 100 01 ...... .....  @f0c_0
4731ca74648SRichard Hendersonfrnd_d          001100 ..... ..... 101 01 ...... .....  @f0c_0
4741ca74648SRichard Hendersonfneg_d          001100 ..... ..... 110 01 ...... .....  @f0c_0
4751ca74648SRichard Hendersonfnegabs_d       001100 ..... ..... 111 01 ...... .....  @f0c_0
4761ca74648SRichard Henderson
4771ca74648SRichard Hendersonfcpy_f          001110 ..... ..... 010 ........ .....   @f0e_f_0
4781ca74648SRichard Hendersonfabs_f          001110 ..... ..... 011 ........ .....   @f0e_f_0
4791ca74648SRichard Hendersonfsqrt_f         001110 ..... ..... 100 ........ .....   @f0e_f_0
4801ca74648SRichard Hendersonfrnd_f          001110 ..... ..... 101 ........ .....   @f0e_f_0
4811ca74648SRichard Hendersonfneg_f          001110 ..... ..... 110 ........ .....   @f0e_f_0
4821ca74648SRichard Hendersonfnegabs_f       001110 ..... ..... 111 ........ .....   @f0e_f_0
4831ca74648SRichard Henderson
4841ca74648SRichard Hendersonfcpy_d          001110 ..... ..... 010 ........ .....   @f0e_d_0
4851ca74648SRichard Hendersonfabs_d          001110 ..... ..... 011 ........ .....   @f0e_d_0
4861ca74648SRichard Hendersonfsqrt_d         001110 ..... ..... 100 ........ .....   @f0e_d_0
4871ca74648SRichard Hendersonfrnd_d          001110 ..... ..... 101 ........ .....   @f0e_d_0
4881ca74648SRichard Hendersonfneg_d          001110 ..... ..... 110 ........ .....   @f0e_d_0
4891ca74648SRichard Hendersonfnegabs_d       001110 ..... ..... 111 ........ .....   @f0e_d_0
4901ca74648SRichard Henderson
4911ca74648SRichard Henderson# Floating point class 1
4921ca74648SRichard Henderson
4931ca74648SRichard Henderson# float/float
4941ca74648SRichard Hendersonfcnv_d_f        001100 ..... ... 000 00 01 ...... ..... @f0c_1
4951ca74648SRichard Hendersonfcnv_f_d        001100 ..... ... 000 01 00 ...... ..... @f0c_1
4961ca74648SRichard Henderson
4971ca74648SRichard Hendersonfcnv_d_f        001110 ..... ... 000 .......... .....   @f0e_df_1
4981ca74648SRichard Hendersonfcnv_f_d        001110 ..... ... 000 .......... .....   @f0e_fd_1
4991ca74648SRichard Henderson
5001ca74648SRichard Henderson# int/float
5011ca74648SRichard Hendersonfcnv_w_f        001100 ..... ... 001 00 00 ...... ..... @f0c_1
5021ca74648SRichard Hendersonfcnv_q_f        001100 ..... ... 001 00 01 ...... ..... @f0c_1
5031ca74648SRichard Hendersonfcnv_w_d        001100 ..... ... 001 01 00 ...... ..... @f0c_1
5041ca74648SRichard Hendersonfcnv_q_d        001100 ..... ... 001 01 01 ...... ..... @f0c_1
5051ca74648SRichard Henderson
5061ca74648SRichard Hendersonfcnv_w_f        001110 ..... ... 001 .......... .....   @f0e_ff_1
5071ca74648SRichard Hendersonfcnv_q_f        001110 ..... ... 001 .......... .....   @f0e_df_1
5081ca74648SRichard Hendersonfcnv_w_d        001110 ..... ... 001 .......... .....   @f0e_fd_1
5091ca74648SRichard Hendersonfcnv_q_d        001110 ..... ... 001 .......... .....   @f0e_dd_1
5101ca74648SRichard Henderson
5111ca74648SRichard Henderson# float/int
5121ca74648SRichard Hendersonfcnv_f_w        001100 ..... ... 010 00 00 ...... ..... @f0c_1
5131ca74648SRichard Hendersonfcnv_d_w        001100 ..... ... 010 00 01 ...... ..... @f0c_1
5141ca74648SRichard Hendersonfcnv_f_q        001100 ..... ... 010 01 00 ...... ..... @f0c_1
5151ca74648SRichard Hendersonfcnv_d_q        001100 ..... ... 010 01 01 ...... ..... @f0c_1
5161ca74648SRichard Henderson
5171ca74648SRichard Hendersonfcnv_f_w        001110 ..... ... 010 .......... .....   @f0e_ff_1
5181ca74648SRichard Hendersonfcnv_d_w        001110 ..... ... 010 .......... .....   @f0e_df_1
5191ca74648SRichard Hendersonfcnv_f_q        001110 ..... ... 010 .......... .....   @f0e_fd_1
5201ca74648SRichard Hendersonfcnv_d_q        001110 ..... ... 010 .......... .....   @f0e_dd_1
5211ca74648SRichard Henderson
5221ca74648SRichard Henderson# float/int truncate
5231ca74648SRichard Hendersonfcnv_t_f_w      001100 ..... ... 011 00 00 ...... ..... @f0c_1
5241ca74648SRichard Hendersonfcnv_t_d_w      001100 ..... ... 011 00 01 ...... ..... @f0c_1
5251ca74648SRichard Hendersonfcnv_t_f_q      001100 ..... ... 011 01 00 ...... ..... @f0c_1
5261ca74648SRichard Hendersonfcnv_t_d_q      001100 ..... ... 011 01 01 ...... ..... @f0c_1
5271ca74648SRichard Henderson
5281ca74648SRichard Hendersonfcnv_t_f_w      001110 ..... ... 011 .......... .....   @f0e_ff_1
5291ca74648SRichard Hendersonfcnv_t_d_w      001110 ..... ... 011 .......... .....   @f0e_df_1
5301ca74648SRichard Hendersonfcnv_t_f_q      001110 ..... ... 011 .......... .....   @f0e_fd_1
5311ca74648SRichard Hendersonfcnv_t_d_q      001110 ..... ... 011 .......... .....   @f0e_dd_1
5321ca74648SRichard Henderson
5331ca74648SRichard Henderson# uint/float
5341ca74648SRichard Hendersonfcnv_uw_f       001100 ..... ... 101 00 00 ...... ..... @f0c_1
5351ca74648SRichard Hendersonfcnv_uq_f       001100 ..... ... 101 00 01 ...... ..... @f0c_1
5361ca74648SRichard Hendersonfcnv_uw_d       001100 ..... ... 101 01 00 ...... ..... @f0c_1
5371ca74648SRichard Hendersonfcnv_uq_d       001100 ..... ... 101 01 01 ...... ..... @f0c_1
5381ca74648SRichard Henderson
5391ca74648SRichard Hendersonfcnv_uw_f       001110 ..... ... 101 .......... .....   @f0e_ff_1
5401ca74648SRichard Hendersonfcnv_uq_f       001110 ..... ... 101 .......... .....   @f0e_df_1
5411ca74648SRichard Hendersonfcnv_uw_d       001110 ..... ... 101 .......... .....   @f0e_fd_1
5421ca74648SRichard Hendersonfcnv_uq_d       001110 ..... ... 101 .......... .....   @f0e_dd_1
5431ca74648SRichard Henderson
5441ca74648SRichard Henderson# float/int
5451ca74648SRichard Hendersonfcnv_f_uw       001100 ..... ... 110 00 00 ...... ..... @f0c_1
5461ca74648SRichard Hendersonfcnv_d_uw       001100 ..... ... 110 00 01 ...... ..... @f0c_1
5471ca74648SRichard Hendersonfcnv_f_uq       001100 ..... ... 110 01 00 ...... ..... @f0c_1
5481ca74648SRichard Hendersonfcnv_d_uq       001100 ..... ... 110 01 01 ...... ..... @f0c_1
5491ca74648SRichard Henderson
5501ca74648SRichard Hendersonfcnv_f_uw       001110 ..... ... 110 .......... .....   @f0e_ff_1
5511ca74648SRichard Hendersonfcnv_d_uw       001110 ..... ... 110 .......... .....   @f0e_df_1
5521ca74648SRichard Hendersonfcnv_f_uq       001110 ..... ... 110 .......... .....   @f0e_fd_1
5531ca74648SRichard Hendersonfcnv_d_uq       001110 ..... ... 110 .......... .....   @f0e_dd_1
5541ca74648SRichard Henderson
5551ca74648SRichard Henderson# float/int truncate
5561ca74648SRichard Hendersonfcnv_t_f_uw     001100 ..... ... 111 00 00 ...... ..... @f0c_1
5571ca74648SRichard Hendersonfcnv_t_d_uw     001100 ..... ... 111 00 01 ...... ..... @f0c_1
5581ca74648SRichard Hendersonfcnv_t_f_uq     001100 ..... ... 111 01 00 ...... ..... @f0c_1
5591ca74648SRichard Hendersonfcnv_t_d_uq     001100 ..... ... 111 01 01 ...... ..... @f0c_1
5601ca74648SRichard Henderson
5611ca74648SRichard Hendersonfcnv_t_f_uw     001110 ..... ... 111 .......... .....   @f0e_ff_1
5621ca74648SRichard Hendersonfcnv_t_d_uw     001110 ..... ... 111 .......... .....   @f0e_df_1
5631ca74648SRichard Hendersonfcnv_t_f_uq     001110 ..... ... 111 .......... .....   @f0e_fd_1
5641ca74648SRichard Hendersonfcnv_t_d_uq     001110 ..... ... 111 .......... .....   @f0e_dd_1
5651ca74648SRichard Henderson
5661ca74648SRichard Henderson# Floating point class 2
5671ca74648SRichard Henderson
5681ca74648SRichard Hendersonftest           001100 00000 00000 y:3 00 10000 1 c:5
5691ca74648SRichard Henderson
5701ca74648SRichard Hendersonfcmp_f          001100 ..... ..... ... 00 ..... 0 ..... @f0c_2
5711ca74648SRichard Hendersonfcmp_d          001100 ..... ..... ... 01 ..... 0 ..... @f0c_2
5721ca74648SRichard Henderson
5731ca74648SRichard Hendersonfcmp_f          001110 ..... ..... ... ..... ... .....  @f0e_f_2
5741ca74648SRichard Hendersonfcmp_d          001110 ..... ..... ... ..... ... .....  @f0e_d_2
5751ca74648SRichard Henderson
5761ca74648SRichard Henderson# Floating point class 3
5771ca74648SRichard Henderson
5781ca74648SRichard Hendersonfadd_f          001100 ..... ..... 000 00 ...... .....  @f0c_3
5791ca74648SRichard Hendersonfsub_f          001100 ..... ..... 001 00 ...... .....  @f0c_3
5801ca74648SRichard Hendersonfmpy_f          001100 ..... ..... 010 00 ...... .....  @f0c_3
5811ca74648SRichard Hendersonfdiv_f          001100 ..... ..... 011 00 ...... .....  @f0c_3
5821ca74648SRichard Henderson
5831ca74648SRichard Hendersonfadd_d          001100 ..... ..... 000 01 ...... .....  @f0c_3
5841ca74648SRichard Hendersonfsub_d          001100 ..... ..... 001 01 ...... .....  @f0c_3
5851ca74648SRichard Hendersonfmpy_d          001100 ..... ..... 010 01 ...... .....  @f0c_3
5861ca74648SRichard Hendersonfdiv_d          001100 ..... ..... 011 01 ...... .....  @f0c_3
5871ca74648SRichard Henderson
5881ca74648SRichard Hendersonfadd_f          001110 ..... ..... 000 ..... ... .....  @f0e_f_3
5891ca74648SRichard Hendersonfsub_f          001110 ..... ..... 001 ..... ... .....  @f0e_f_3
5901ca74648SRichard Hendersonfmpy_f          001110 ..... ..... 010 ..... ... .....  @f0e_f_3
5911ca74648SRichard Hendersonfdiv_f          001110 ..... ..... 011 ..... ... .....  @f0e_f_3
5921ca74648SRichard Henderson
5931ca74648SRichard Hendersonfadd_d          001110 ..... ..... 000 ..... ... .....  @f0e_d_3
5941ca74648SRichard Hendersonfsub_d          001110 ..... ..... 001 ..... ... .....  @f0e_d_3
5951ca74648SRichard Hendersonfmpy_d          001110 ..... ..... 010 ..... ... .....  @f0e_d_3
5961ca74648SRichard Hendersonfdiv_d          001110 ..... ..... 011 ..... ... .....  @f0e_d_3
5971ca74648SRichard Henderson
5981ca74648SRichard Hendersonxmpyu           001110 ..... ..... 010 .0111 .00 t:5    r1=%ra64 r2=%rb64
59915da177bSSven Schnelle
60015da177bSSven Schnelle# diag
601a64b8842SHelge Dellerdiag            000101 i:26
602