1# SPDX-License-Identifier: GPL-2.0-or-later 2# 3# LoongArch instruction decode definitions. 4# 5# Copyright (c) 2021 Loongson Technology Corporation Limited 6# 7 8# 9# Fields 10# 11%i14s2 10:s14 !function=shl_2 12%sa2p1 15:2 !function=plus_1 13%offs21 0:s5 10:16 !function=shl_2 14%offs16 10:s16 !function=shl_2 15%offs26 0:s10 10:16 !function=shl_2 16 17# 18# Argument sets 19# 20&i imm 21&r_i rd imm 22&rr rd rj 23&rr_jk rj rk 24&rrr rd rj rk 25&rr_i rd rj imm 26&hint_r_i hint rj imm 27&rrr_sa rd rj rk sa 28&rr_ms_ls rd rj ms ls 29&ff fd fj 30&fff fd fj fk 31&ffff fd fj fk fa 32&cff_fcond cd fj fk fcond 33&fffc fd fj fk ca 34&fr fd rj 35&rf rd fj 36&fcsrd_r fcsrd rj 37&r_fcsrs rd fcsrs 38&cf cd fj 39&fc fd cj 40&cr cd rj 41&rc rd cj 42&frr fd rj rk 43&fr_i fd rj imm 44&r_offs rj offs 45&c_offs cj offs 46&offs offs 47&rr_offs rj rd offs 48 49# 50# Formats 51# 52@i15 .... ........ ..... imm:15 &i 53@rr .... ........ ..... ..... rj:5 rd:5 &rr 54@rr_jk .... ........ ..... rk:5 rj:5 ..... &rr_jk 55@rrr .... ........ ..... rk:5 rj:5 rd:5 &rrr 56@r_i20 .... ... imm:s20 rd:5 &r_i 57@rr_ui5 .... ........ ..... imm:5 rj:5 rd:5 &rr_i 58@rr_ui6 .... ........ .... imm:6 rj:5 rd:5 &rr_i 59@rr_i12 .... ...... imm:s12 rj:5 rd:5 &rr_i 60@rr_ui12 .... ...... imm:12 rj:5 rd:5 &rr_i 61@rr_i14s2 .... .... .............. rj:5 rd:5 &rr_i imm=%i14s2 62@rr_i16 .... .. imm:s16 rj:5 rd:5 &rr_i 63@hint_r_i12 .... ...... imm:s12 rj:5 hint:5 &hint_r_i 64@rrr_sa2p1 .... ........ ... .. rk:5 rj:5 rd:5 &rrr_sa sa=%sa2p1 65@rrr_sa2 .... ........ ... sa:2 rk:5 rj:5 rd:5 &rrr_sa 66@rrr_sa3 .... ........ .. sa:3 rk:5 rj:5 rd:5 &rrr_sa 67@rr_2bw .... ....... ms:5 . ls:5 rj:5 rd:5 &rr_ms_ls 68@rr_2bd .... ...... ms:6 ls:6 rj:5 rd:5 &rr_ms_ls 69@ff .... ........ ..... ..... fj:5 fd:5 &ff 70@fff .... ........ ..... fk:5 fj:5 fd:5 &fff 71@ffff .... ........ fa:5 fk:5 fj:5 fd:5 &ffff 72@cff_fcond .... ........ fcond:5 fk:5 fj:5 .. cd:3 &cff_fcond 73@fffc .... ........ .. ca:3 fk:5 fj:5 fd:5 &fffc 74@fr .... ........ ..... ..... rj:5 fd:5 &fr 75@rf .... ........ ..... ..... fj:5 rd:5 &rf 76@fcsrd_r .... ........ ..... ..... rj:5 fcsrd:5 &fcsrd_r 77@r_fcsrs .... ........ ..... ..... fcsrs:5 rd:5 &r_fcsrs 78@cf .... ........ ..... ..... fj:5 .. cd:3 &cf 79@fc .... ........ ..... ..... .. cj:3 fd:5 &fc 80@cr .... ........ ..... ..... rj:5 .. cd:3 &cr 81@rc .... ........ ..... ..... .. cj:3 rd:5 &rc 82@frr .... ........ ..... rk:5 rj:5 fd:5 &frr 83@fr_i12 .... ...... imm:s12 rj:5 fd:5 &fr_i 84@r_offs21 .... .. ................ rj:5 ..... &r_offs offs=%offs21 85@c_offs21 .... .. ................ .. cj:3 ..... &c_offs offs=%offs21 86@offs26 .... .. .......................... &offs offs=%offs26 87@rr_offs16 .... .. ................ rj:5 rd:5 &rr_offs offs=%offs16 88 89# 90# Fixed point arithmetic operation instruction 91# 92add_w 0000 00000001 00000 ..... ..... ..... @rrr 93add_d 0000 00000001 00001 ..... ..... ..... @rrr 94sub_w 0000 00000001 00010 ..... ..... ..... @rrr 95sub_d 0000 00000001 00011 ..... ..... ..... @rrr 96slt 0000 00000001 00100 ..... ..... ..... @rrr 97sltu 0000 00000001 00101 ..... ..... ..... @rrr 98slti 0000 001000 ............ ..... ..... @rr_i12 99sltui 0000 001001 ............ ..... ..... @rr_i12 100nor 0000 00000001 01000 ..... ..... ..... @rrr 101and 0000 00000001 01001 ..... ..... ..... @rrr 102or 0000 00000001 01010 ..... ..... ..... @rrr 103xor 0000 00000001 01011 ..... ..... ..... @rrr 104orn 0000 00000001 01100 ..... ..... ..... @rrr 105andn 0000 00000001 01101 ..... ..... ..... @rrr 106mul_w 0000 00000001 11000 ..... ..... ..... @rrr 107mulh_w 0000 00000001 11001 ..... ..... ..... @rrr 108mulh_wu 0000 00000001 11010 ..... ..... ..... @rrr 109mul_d 0000 00000001 11011 ..... ..... ..... @rrr 110mulh_d 0000 00000001 11100 ..... ..... ..... @rrr 111mulh_du 0000 00000001 11101 ..... ..... ..... @rrr 112mulw_d_w 0000 00000001 11110 ..... ..... ..... @rrr 113mulw_d_wu 0000 00000001 11111 ..... ..... ..... @rrr 114div_w 0000 00000010 00000 ..... ..... ..... @rrr 115mod_w 0000 00000010 00001 ..... ..... ..... @rrr 116div_wu 0000 00000010 00010 ..... ..... ..... @rrr 117mod_wu 0000 00000010 00011 ..... ..... ..... @rrr 118div_d 0000 00000010 00100 ..... ..... ..... @rrr 119mod_d 0000 00000010 00101 ..... ..... ..... @rrr 120div_du 0000 00000010 00110 ..... ..... ..... @rrr 121mod_du 0000 00000010 00111 ..... ..... ..... @rrr 122alsl_w 0000 00000000 010 .. ..... ..... ..... @rrr_sa2p1 123alsl_wu 0000 00000000 011 .. ..... ..... ..... @rrr_sa2p1 124alsl_d 0000 00000010 110 .. ..... ..... ..... @rrr_sa2p1 125lu12i_w 0001 010 .................... ..... @r_i20 126lu32i_d 0001 011 .................... ..... @r_i20 127lu52i_d 0000 001100 ............ ..... ..... @rr_i12 128pcaddi 0001 100 .................... ..... @r_i20 129pcalau12i 0001 101 .................... ..... @r_i20 130pcaddu12i 0001 110 .................... ..... @r_i20 131pcaddu18i 0001 111 .................... ..... @r_i20 132addi_w 0000 001010 ............ ..... ..... @rr_i12 133addi_d 0000 001011 ............ ..... ..... @rr_i12 134addu16i_d 0001 00 ................ ..... ..... @rr_i16 135andi 0000 001101 ............ ..... ..... @rr_ui12 136ori 0000 001110 ............ ..... ..... @rr_ui12 137xori 0000 001111 ............ ..... ..... @rr_ui12 138 139# 140# Fixed point shift operation instruction 141# 142sll_w 0000 00000001 01110 ..... ..... ..... @rrr 143srl_w 0000 00000001 01111 ..... ..... ..... @rrr 144sra_w 0000 00000001 10000 ..... ..... ..... @rrr 145sll_d 0000 00000001 10001 ..... ..... ..... @rrr 146srl_d 0000 00000001 10010 ..... ..... ..... @rrr 147sra_d 0000 00000001 10011 ..... ..... ..... @rrr 148rotr_w 0000 00000001 10110 ..... ..... ..... @rrr 149rotr_d 0000 00000001 10111 ..... ..... ..... @rrr 150slli_w 0000 00000100 00001 ..... ..... ..... @rr_ui5 151slli_d 0000 00000100 0001 ...... ..... ..... @rr_ui6 152srli_w 0000 00000100 01001 ..... ..... ..... @rr_ui5 153srli_d 0000 00000100 0101 ...... ..... ..... @rr_ui6 154srai_w 0000 00000100 10001 ..... ..... ..... @rr_ui5 155srai_d 0000 00000100 1001 ...... ..... ..... @rr_ui6 156rotri_w 0000 00000100 11001 ..... ..... ..... @rr_ui5 157rotri_d 0000 00000100 1101 ...... ..... ..... @rr_ui6 158 159# 160# Fixed point bit operation instruction 161# 162ext_w_h 0000 00000000 00000 10110 ..... ..... @rr 163ext_w_b 0000 00000000 00000 10111 ..... ..... @rr 164clo_w 0000 00000000 00000 00100 ..... ..... @rr 165clz_w 0000 00000000 00000 00101 ..... ..... @rr 166cto_w 0000 00000000 00000 00110 ..... ..... @rr 167ctz_w 0000 00000000 00000 00111 ..... ..... @rr 168clo_d 0000 00000000 00000 01000 ..... ..... @rr 169clz_d 0000 00000000 00000 01001 ..... ..... @rr 170cto_d 0000 00000000 00000 01010 ..... ..... @rr 171ctz_d 0000 00000000 00000 01011 ..... ..... @rr 172revb_2h 0000 00000000 00000 01100 ..... ..... @rr 173revb_4h 0000 00000000 00000 01101 ..... ..... @rr 174revb_2w 0000 00000000 00000 01110 ..... ..... @rr 175revb_d 0000 00000000 00000 01111 ..... ..... @rr 176revh_2w 0000 00000000 00000 10000 ..... ..... @rr 177revh_d 0000 00000000 00000 10001 ..... ..... @rr 178bitrev_4b 0000 00000000 00000 10010 ..... ..... @rr 179bitrev_8b 0000 00000000 00000 10011 ..... ..... @rr 180bitrev_w 0000 00000000 00000 10100 ..... ..... @rr 181bitrev_d 0000 00000000 00000 10101 ..... ..... @rr 182bytepick_w 0000 00000000 100 .. ..... ..... ..... @rrr_sa2 183bytepick_d 0000 00000000 11 ... ..... ..... ..... @rrr_sa3 184maskeqz 0000 00000001 00110 ..... ..... ..... @rrr 185masknez 0000 00000001 00111 ..... ..... ..... @rrr 186bstrins_w 0000 0000011 ..... 0 ..... ..... ..... @rr_2bw 187bstrpick_w 0000 0000011 ..... 1 ..... ..... ..... @rr_2bw 188bstrins_d 0000 000010 ...... ...... ..... ..... @rr_2bd 189bstrpick_d 0000 000011 ...... ...... ..... ..... @rr_2bd 190 191# 192# Fixed point load/store instruction 193# 194ld_b 0010 100000 ............ ..... ..... @rr_i12 195ld_h 0010 100001 ............ ..... ..... @rr_i12 196ld_w 0010 100010 ............ ..... ..... @rr_i12 197ld_d 0010 100011 ............ ..... ..... @rr_i12 198st_b 0010 100100 ............ ..... ..... @rr_i12 199st_h 0010 100101 ............ ..... ..... @rr_i12 200st_w 0010 100110 ............ ..... ..... @rr_i12 201st_d 0010 100111 ............ ..... ..... @rr_i12 202ld_bu 0010 101000 ............ ..... ..... @rr_i12 203ld_hu 0010 101001 ............ ..... ..... @rr_i12 204ld_wu 0010 101010 ............ ..... ..... @rr_i12 205ldx_b 0011 10000000 00000 ..... ..... ..... @rrr 206ldx_h 0011 10000000 01000 ..... ..... ..... @rrr 207ldx_w 0011 10000000 10000 ..... ..... ..... @rrr 208ldx_d 0011 10000000 11000 ..... ..... ..... @rrr 209stx_b 0011 10000001 00000 ..... ..... ..... @rrr 210stx_h 0011 10000001 01000 ..... ..... ..... @rrr 211stx_w 0011 10000001 10000 ..... ..... ..... @rrr 212stx_d 0011 10000001 11000 ..... ..... ..... @rrr 213ldx_bu 0011 10000010 00000 ..... ..... ..... @rrr 214ldx_hu 0011 10000010 01000 ..... ..... ..... @rrr 215ldx_wu 0011 10000010 10000 ..... ..... ..... @rrr 216preld 0010 101011 ............ ..... ..... @hint_r_i12 217dbar 0011 10000111 00100 ............... @i15 218ibar 0011 10000111 00101 ............... @i15 219ldptr_w 0010 0100 .............. ..... ..... @rr_i14s2 220stptr_w 0010 0101 .............. ..... ..... @rr_i14s2 221ldptr_d 0010 0110 .............. ..... ..... @rr_i14s2 222stptr_d 0010 0111 .............. ..... ..... @rr_i14s2 223ldgt_b 0011 10000111 10000 ..... ..... ..... @rrr 224ldgt_h 0011 10000111 10001 ..... ..... ..... @rrr 225ldgt_w 0011 10000111 10010 ..... ..... ..... @rrr 226ldgt_d 0011 10000111 10011 ..... ..... ..... @rrr 227ldle_b 0011 10000111 10100 ..... ..... ..... @rrr 228ldle_h 0011 10000111 10101 ..... ..... ..... @rrr 229ldle_w 0011 10000111 10110 ..... ..... ..... @rrr 230ldle_d 0011 10000111 10111 ..... ..... ..... @rrr 231stgt_b 0011 10000111 11000 ..... ..... ..... @rrr 232stgt_h 0011 10000111 11001 ..... ..... ..... @rrr 233stgt_w 0011 10000111 11010 ..... ..... ..... @rrr 234stgt_d 0011 10000111 11011 ..... ..... ..... @rrr 235stle_b 0011 10000111 11100 ..... ..... ..... @rrr 236stle_h 0011 10000111 11101 ..... ..... ..... @rrr 237stle_w 0011 10000111 11110 ..... ..... ..... @rrr 238stle_d 0011 10000111 11111 ..... ..... ..... @rrr 239 240# 241# Fixed point atomic instruction 242# 243ll_w 0010 0000 .............. ..... ..... @rr_i14s2 244sc_w 0010 0001 .............. ..... ..... @rr_i14s2 245ll_d 0010 0010 .............. ..... ..... @rr_i14s2 246sc_d 0010 0011 .............. ..... ..... @rr_i14s2 247amswap_w 0011 10000110 00000 ..... ..... ..... @rrr 248amswap_d 0011 10000110 00001 ..... ..... ..... @rrr 249amadd_w 0011 10000110 00010 ..... ..... ..... @rrr 250amadd_d 0011 10000110 00011 ..... ..... ..... @rrr 251amand_w 0011 10000110 00100 ..... ..... ..... @rrr 252amand_d 0011 10000110 00101 ..... ..... ..... @rrr 253amor_w 0011 10000110 00110 ..... ..... ..... @rrr 254amor_d 0011 10000110 00111 ..... ..... ..... @rrr 255amxor_w 0011 10000110 01000 ..... ..... ..... @rrr 256amxor_d 0011 10000110 01001 ..... ..... ..... @rrr 257ammax_w 0011 10000110 01010 ..... ..... ..... @rrr 258ammax_d 0011 10000110 01011 ..... ..... ..... @rrr 259ammin_w 0011 10000110 01100 ..... ..... ..... @rrr 260ammin_d 0011 10000110 01101 ..... ..... ..... @rrr 261ammax_wu 0011 10000110 01110 ..... ..... ..... @rrr 262ammax_du 0011 10000110 01111 ..... ..... ..... @rrr 263ammin_wu 0011 10000110 10000 ..... ..... ..... @rrr 264ammin_du 0011 10000110 10001 ..... ..... ..... @rrr 265amswap_db_w 0011 10000110 10010 ..... ..... ..... @rrr 266amswap_db_d 0011 10000110 10011 ..... ..... ..... @rrr 267amadd_db_w 0011 10000110 10100 ..... ..... ..... @rrr 268amadd_db_d 0011 10000110 10101 ..... ..... ..... @rrr 269amand_db_w 0011 10000110 10110 ..... ..... ..... @rrr 270amand_db_d 0011 10000110 10111 ..... ..... ..... @rrr 271amor_db_w 0011 10000110 11000 ..... ..... ..... @rrr 272amor_db_d 0011 10000110 11001 ..... ..... ..... @rrr 273amxor_db_w 0011 10000110 11010 ..... ..... ..... @rrr 274amxor_db_d 0011 10000110 11011 ..... ..... ..... @rrr 275ammax_db_w 0011 10000110 11100 ..... ..... ..... @rrr 276ammax_db_d 0011 10000110 11101 ..... ..... ..... @rrr 277ammin_db_w 0011 10000110 11110 ..... ..... ..... @rrr 278ammin_db_d 0011 10000110 11111 ..... ..... ..... @rrr 279ammax_db_wu 0011 10000111 00000 ..... ..... ..... @rrr 280ammax_db_du 0011 10000111 00001 ..... ..... ..... @rrr 281ammin_db_wu 0011 10000111 00010 ..... ..... ..... @rrr 282ammin_db_du 0011 10000111 00011 ..... ..... ..... @rrr 283 284# 285# Fixed point extra instruction 286# 287crc_w_b_w 0000 00000010 01000 ..... ..... ..... @rrr 288crc_w_h_w 0000 00000010 01001 ..... ..... ..... @rrr 289crc_w_w_w 0000 00000010 01010 ..... ..... ..... @rrr 290crc_w_d_w 0000 00000010 01011 ..... ..... ..... @rrr 291crcc_w_b_w 0000 00000010 01100 ..... ..... ..... @rrr 292crcc_w_h_w 0000 00000010 01101 ..... ..... ..... @rrr 293crcc_w_w_w 0000 00000010 01110 ..... ..... ..... @rrr 294crcc_w_d_w 0000 00000010 01111 ..... ..... ..... @rrr 295break 0000 00000010 10100 ............... @i15 296syscall 0000 00000010 10110 ............... @i15 297asrtle_d 0000 00000000 00010 ..... ..... 00000 @rr_jk 298asrtgt_d 0000 00000000 00011 ..... ..... 00000 @rr_jk 299cpucfg 0000 00000000 00000 11011 ..... ..... @rr 300 301# 302# Floating point arithmetic operation instruction 303# 304fadd_s 0000 00010000 00001 ..... ..... ..... @fff 305fadd_d 0000 00010000 00010 ..... ..... ..... @fff 306fsub_s 0000 00010000 00101 ..... ..... ..... @fff 307fsub_d 0000 00010000 00110 ..... ..... ..... @fff 308fmul_s 0000 00010000 01001 ..... ..... ..... @fff 309fmul_d 0000 00010000 01010 ..... ..... ..... @fff 310fdiv_s 0000 00010000 01101 ..... ..... ..... @fff 311fdiv_d 0000 00010000 01110 ..... ..... ..... @fff 312fmadd_s 0000 10000001 ..... ..... ..... ..... @ffff 313fmadd_d 0000 10000010 ..... ..... ..... ..... @ffff 314fmsub_s 0000 10000101 ..... ..... ..... ..... @ffff 315fmsub_d 0000 10000110 ..... ..... ..... ..... @ffff 316fnmadd_s 0000 10001001 ..... ..... ..... ..... @ffff 317fnmadd_d 0000 10001010 ..... ..... ..... ..... @ffff 318fnmsub_s 0000 10001101 ..... ..... ..... ..... @ffff 319fnmsub_d 0000 10001110 ..... ..... ..... ..... @ffff 320fmax_s 0000 00010000 10001 ..... ..... ..... @fff 321fmax_d 0000 00010000 10010 ..... ..... ..... @fff 322fmin_s 0000 00010000 10101 ..... ..... ..... @fff 323fmin_d 0000 00010000 10110 ..... ..... ..... @fff 324fmaxa_s 0000 00010000 11001 ..... ..... ..... @fff 325fmaxa_d 0000 00010000 11010 ..... ..... ..... @fff 326fmina_s 0000 00010000 11101 ..... ..... ..... @fff 327fmina_d 0000 00010000 11110 ..... ..... ..... @fff 328fabs_s 0000 00010001 01000 00001 ..... ..... @ff 329fabs_d 0000 00010001 01000 00010 ..... ..... @ff 330fneg_s 0000 00010001 01000 00101 ..... ..... @ff 331fneg_d 0000 00010001 01000 00110 ..... ..... @ff 332fsqrt_s 0000 00010001 01000 10001 ..... ..... @ff 333fsqrt_d 0000 00010001 01000 10010 ..... ..... @ff 334frecip_s 0000 00010001 01000 10101 ..... ..... @ff 335frecip_d 0000 00010001 01000 10110 ..... ..... @ff 336frsqrt_s 0000 00010001 01000 11001 ..... ..... @ff 337frsqrt_d 0000 00010001 01000 11010 ..... ..... @ff 338fscaleb_s 0000 00010001 00001 ..... ..... ..... @fff 339fscaleb_d 0000 00010001 00010 ..... ..... ..... @fff 340flogb_s 0000 00010001 01000 01001 ..... ..... @ff 341flogb_d 0000 00010001 01000 01010 ..... ..... @ff 342fcopysign_s 0000 00010001 00101 ..... ..... ..... @fff 343fcopysign_d 0000 00010001 00110 ..... ..... ..... @fff 344fclass_s 0000 00010001 01000 01101 ..... ..... @ff 345fclass_d 0000 00010001 01000 01110 ..... ..... @ff 346 347# 348# Floating point compare instruction 349# 350fcmp_cond_s 0000 11000001 ..... ..... ..... 00 ... @cff_fcond 351fcmp_cond_d 0000 11000010 ..... ..... ..... 00 ... @cff_fcond 352 353# 354# Floating point conversion instruction 355# 356fcvt_s_d 0000 00010001 10010 00110 ..... ..... @ff 357fcvt_d_s 0000 00010001 10010 01001 ..... ..... @ff 358ftintrm_w_s 0000 00010001 10100 00001 ..... ..... @ff 359ftintrm_w_d 0000 00010001 10100 00010 ..... ..... @ff 360ftintrm_l_s 0000 00010001 10100 01001 ..... ..... @ff 361ftintrm_l_d 0000 00010001 10100 01010 ..... ..... @ff 362ftintrp_w_s 0000 00010001 10100 10001 ..... ..... @ff 363ftintrp_w_d 0000 00010001 10100 10010 ..... ..... @ff 364ftintrp_l_s 0000 00010001 10100 11001 ..... ..... @ff 365ftintrp_l_d 0000 00010001 10100 11010 ..... ..... @ff 366ftintrz_w_s 0000 00010001 10101 00001 ..... ..... @ff 367ftintrz_w_d 0000 00010001 10101 00010 ..... ..... @ff 368ftintrz_l_s 0000 00010001 10101 01001 ..... ..... @ff 369ftintrz_l_d 0000 00010001 10101 01010 ..... ..... @ff 370ftintrne_w_s 0000 00010001 10101 10001 ..... ..... @ff 371ftintrne_w_d 0000 00010001 10101 10010 ..... ..... @ff 372ftintrne_l_s 0000 00010001 10101 11001 ..... ..... @ff 373ftintrne_l_d 0000 00010001 10101 11010 ..... ..... @ff 374ftint_w_s 0000 00010001 10110 00001 ..... ..... @ff 375ftint_w_d 0000 00010001 10110 00010 ..... ..... @ff 376ftint_l_s 0000 00010001 10110 01001 ..... ..... @ff 377ftint_l_d 0000 00010001 10110 01010 ..... ..... @ff 378ffint_s_w 0000 00010001 11010 00100 ..... ..... @ff 379ffint_s_l 0000 00010001 11010 00110 ..... ..... @ff 380ffint_d_w 0000 00010001 11010 01000 ..... ..... @ff 381ffint_d_l 0000 00010001 11010 01010 ..... ..... @ff 382frint_s 0000 00010001 11100 10001 ..... ..... @ff 383frint_d 0000 00010001 11100 10010 ..... ..... @ff 384 385# 386# Floating point move instruction 387# 388fmov_s 0000 00010001 01001 00101 ..... ..... @ff 389fmov_d 0000 00010001 01001 00110 ..... ..... @ff 390fsel 0000 11010000 00 ... ..... ..... ..... @fffc 391movgr2fr_w 0000 00010001 01001 01001 ..... ..... @fr 392movgr2fr_d 0000 00010001 01001 01010 ..... ..... @fr 393movgr2frh_w 0000 00010001 01001 01011 ..... ..... @fr 394movfr2gr_s 0000 00010001 01001 01101 ..... ..... @rf 395movfr2gr_d 0000 00010001 01001 01110 ..... ..... @rf 396movfrh2gr_s 0000 00010001 01001 01111 ..... ..... @rf 397movgr2fcsr 0000 00010001 01001 10000 ..... ..... @fcsrd_r 398movfcsr2gr 0000 00010001 01001 10010 ..... ..... @r_fcsrs 399movfr2cf 0000 00010001 01001 10100 ..... 00 ... @cf 400movcf2fr 0000 00010001 01001 10101 00 ... ..... @fc 401movgr2cf 0000 00010001 01001 10110 ..... 00 ... @cr 402movcf2gr 0000 00010001 01001 10111 00 ... ..... @rc 403 404# 405# Floating point load/store instruction 406# 407fld_s 0010 101100 ............ ..... ..... @fr_i12 408fst_s 0010 101101 ............ ..... ..... @fr_i12 409fld_d 0010 101110 ............ ..... ..... @fr_i12 410fst_d 0010 101111 ............ ..... ..... @fr_i12 411fldx_s 0011 10000011 00000 ..... ..... ..... @frr 412fldx_d 0011 10000011 01000 ..... ..... ..... @frr 413fstx_s 0011 10000011 10000 ..... ..... ..... @frr 414fstx_d 0011 10000011 11000 ..... ..... ..... @frr 415fldgt_s 0011 10000111 01000 ..... ..... ..... @frr 416fldgt_d 0011 10000111 01001 ..... ..... ..... @frr 417fldle_s 0011 10000111 01010 ..... ..... ..... @frr 418fldle_d 0011 10000111 01011 ..... ..... ..... @frr 419fstgt_s 0011 10000111 01100 ..... ..... ..... @frr 420fstgt_d 0011 10000111 01101 ..... ..... ..... @frr 421fstle_s 0011 10000111 01110 ..... ..... ..... @frr 422fstle_d 0011 10000111 01111 ..... ..... ..... @frr 423 424# 425# Branch instructions 426# 427beqz 0100 00 ................ ..... ..... @r_offs21 428bnez 0100 01 ................ ..... ..... @r_offs21 429bceqz 0100 10 ................ 00 ... ..... @c_offs21 430bcnez 0100 10 ................ 01 ... ..... @c_offs21 431jirl 0100 11 ................ ..... ..... @rr_offs16 432b 0101 00 .......................... @offs26 433bl 0101 01 .......................... @offs26 434beq 0101 10 ................ ..... ..... @rr_offs16 435bne 0101 11 ................ ..... ..... @rr_offs16 436blt 0110 00 ................ ..... ..... @rr_offs16 437bge 0110 01 ................ ..... ..... @rr_offs16 438bltu 0110 10 ................ ..... ..... @rr_offs16 439bgeu 0110 11 ................ ..... ..... @rr_offs16 440