diff --git a/dep/CMakeLists.txt b/dep/CMakeLists.txt index ea5fb53cd..86d59ab6b 100644 --- a/dep/CMakeLists.txt +++ b/dep/CMakeLists.txt @@ -56,6 +56,11 @@ if(CPU_ARCH_RISCV64) disable_compiler_warnings_for_target(riscv-disas) endif() +if(CPU_ARCH_LOONGARCH64) + add_subdirectory(lagoon EXCLUDE_FROM_ALL) + disable_compiler_warnings_for_target(lagoon) +endif() + if(WIN32) add_subdirectory(d3d12ma EXCLUDE_FROM_ALL) disable_compiler_warnings_for_target(d3d12ma) diff --git a/dep/lagoon/CMakeLists.txt b/dep/lagoon/CMakeLists.txt new file mode 100644 index 000000000..002cd5bec --- /dev/null +++ b/dep/lagoon/CMakeLists.txt @@ -0,0 +1,19 @@ +cmake_minimum_required(VERSION 3.15) +project(lagoon VERSION 0.0.1) + +add_library(lagoon + lagoon.c + + "${PROJECT_SOURCE_DIR}/include/lagoon.h" +) + +target_include_directories(lagoon +PUBLIC + $ + $ + +PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR} +) + +export(PACKAGE lagoon) \ No newline at end of file diff --git a/dep/lagoon/LICENSE b/dep/lagoon/LICENSE new file mode 100644 index 000000000..8ad57ba4b --- /dev/null +++ b/dep/lagoon/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Yang Liu + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/dep/lagoon/include/lagoon.h b/dep/lagoon/include/lagoon.h new file mode 100644 index 000000000..be82cfad4 --- /dev/null +++ b/dep/lagoon/include/lagoon.h @@ -0,0 +1,2350 @@ +#ifndef LAGOON_H +#define LAGOON_H + +#include +#include +#include + +typedef enum { + LA_ZERO = 0, + LA_RA, + LA_TP, + LA_SP, + LA_A0, + LA_A1, + LA_A2, + LA_A3, + LA_A4, + LA_A5, + LA_A6, + LA_A7, + LA_T0, + LA_T1, + LA_T2, + LA_T3, + LA_T4, + LA_T5, + LA_T6, + LA_T7, + LA_T8, + LA_RX, + LA_FP, + LA_S0, + LA_S1, + LA_S2, + LA_S3, + LA_S4, + LA_S5, + LA_S6, + LA_S7, + LA_S8, + LA_R0 = 0, + LA_R1, + LA_R2, + LA_R3, + LA_R4, + LA_R5, + LA_R6, + LA_R7, + LA_R8, + LA_R9, + LA_R10, + LA_R11, + LA_R12, + LA_R13, + LA_R14, + LA_R15, + LA_R16, + LA_R17, + LA_R18, + LA_R19, + LA_R20, + LA_R21, + LA_R22, + LA_R23, + LA_R24, + LA_R25, + LA_R26, + LA_R27, + LA_R28, + LA_R29, + LA_R30, + LA_R31, + LA_GPR_COUNT +} la_gpr_t; + +typedef enum { + LA_FA0 = 0, + LA_FA1, + LA_FA2, + LA_FA3, + LA_FA4, + LA_FA5, + LA_FA6, + LA_FA7, + LA_FT0, + LA_FT1, + LA_FT2, + LA_FT3, + LA_FT4, + LA_FT5, + LA_FT6, + LA_FT7, + LA_FT8, + LA_FT9, + LA_FT10, + LA_FT11, + LA_FT12, + LA_FT13, + LA_FT14, + LA_FT15, + LA_FS0, + LA_FS1, + LA_FS2, + LA_FS3, + LA_FS4, + LA_FS5, + LA_FS6, + LA_FS7, + LA_F0 = 0, + LA_F1, + LA_F2, + LA_F3, + LA_F4, + LA_F5, + LA_F6, + LA_F7, + LA_F8, + LA_F9, + LA_F10, + LA_F11, + LA_F12, + LA_F13, + LA_F14, + LA_F15, + LA_F16, + LA_F17, + LA_F18, + LA_F19, + LA_F20, + LA_F21, + LA_F22, + LA_F23, + LA_F24, + LA_F25, + LA_F26, + LA_F27, + LA_F28, + LA_F29, + LA_F30, + LA_F31, + LA_FPR_COUNT +} la_fpr_t; + +typedef enum { + LA_V0 = 0, + LA_V1, + LA_V2, + LA_V3, + LA_V4, + LA_V5, + LA_V6, + LA_V7, + LA_V8, + LA_V9, + LA_V10, + LA_V11, + LA_V12, + LA_V13, + LA_V14, + LA_V15, + LA_V16, + LA_V17, + LA_V18, + LA_V19, + LA_V20, + LA_V21, + LA_V22, + LA_V23, + LA_V24, + LA_V25, + LA_V26, + LA_V27, + LA_V28, + LA_V29, + LA_V30, + LA_V31, + LA_VSR_COUNT +} la_vpr_t; + +typedef enum { + LA_XV0 = 0, + LA_XV1, + LA_XV2, + LA_XV3, + LA_XV4, + LA_XV5, + LA_XV6, + LA_XV7, + LA_XV8, + LA_XV9, + LA_XV10, + LA_XV11, + LA_XV12, + LA_XV13, + LA_XV14, + LA_XV15, + LA_XV16, + LA_XV17, + LA_XV18, + LA_XV19, + LA_XV20, + LA_XV21, + LA_XV22, + LA_XV23, + LA_XV24, + LA_XV25, + LA_XV26, + LA_XV27, + LA_XV28, + LA_XV29, + LA_XV30, + LA_XV31, + LA_XVSR_COUNT +} la_xvpr_t; + +typedef enum { + LA_FCC0 = 0, + LA_FCC1, + LA_FCC2, + LA_FCC3, + LA_FCC4, + LA_FCC5, + LA_FCC6, + LA_FCC7, + LA_FCC_COUNT +} la_fcc_t; + +typedef enum { + LA_SCR0 = 0, + LA_SCR1, + LA_SCR2, + LA_SCR3, + LA_SCR_COUNT +} la_scr_t; + +typedef enum { + LA_FCSR0 = 0, + LA_FCSR1, + LA_FCSR2, + LA_FCSR3, + LA_FCSR_COUNT +} la_fcsr_t; + +typedef struct { + ptrdiff_t location; + ptrdiff_t* offsets; + size_t offset_capacity; + size_t offset_count; + bool is_bound; +} lagoon_label_t; + +typedef struct { + uint8_t* buffer; + uint8_t* cursor; + size_t capacity; +} lagoon_assembler_t; + +void la_init_assembler(lagoon_assembler_t* assembler, uint8_t* buffer, size_t capacity); +size_t la_get_remaining_buffer_size(lagoon_assembler_t* assembler); +void la_bind(lagoon_assembler_t* assembler, lagoon_label_t* label); +ptrdiff_t la_label(lagoon_assembler_t* assembler, lagoon_label_t* label); +void la_label_free(lagoon_assembler_t* assembler, lagoon_label_t* label); + +void la_load_immediate32(lagoon_assembler_t* assembler, la_gpr_t rd, int32_t value); +void la_load_immediate64(lagoon_assembler_t* assembler, la_gpr_t rd, int64_t value); +void la_ret(lagoon_assembler_t* assembler); + +// clang-format off +//// ANCHOR: mnemonic function declarations start + +void la_adc_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_adc_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_adc_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_adc_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_add_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_add_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_addi_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12); +void la_addi_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12); +void la_addu12i_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk5); +void la_addu12i_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk5); +void la_addu16i_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk16); +void la_alsl_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk, uint32_t ua2pp1); +void la_alsl_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk, uint32_t ua2pp1); +void la_alsl_wu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk, uint32_t ua2pp1); +void la_amadd_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amadd_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amadd_db_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amadd_db_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amadd_db_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amadd_db_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amadd_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amadd_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amand_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amand_db_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amand_db_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amand_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amcas_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amcas_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amcas_db_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amcas_db_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amcas_db_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amcas_db_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amcas_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amcas_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_ammax_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_ammax_db_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_ammax_db_du(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_ammax_db_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_ammax_db_wu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_ammax_du(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_ammax_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_ammax_wu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_ammin_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_ammin_db_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_ammin_db_du(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_ammin_db_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_ammin_db_wu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_ammin_du(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_ammin_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_ammin_wu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amor_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amor_db_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amor_db_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amor_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amswap_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amswap_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amswap_db_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amswap_db_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amswap_db_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amswap_db_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amswap_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amswap_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amxor_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amxor_db_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amxor_db_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_amxor_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_and(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_andi(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk12); +void la_andn(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_armadc_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk, uint32_t ud4); +void la_armadd_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk, uint32_t ud4); +void la_armand_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk, uint32_t ud4); +void la_armmfflag(lagoon_assembler_t* assembler, la_gpr_t rd, uint32_t uk8); +void la_armmov_d(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk4); +void la_armmov_w(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk4); +void la_armmove(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk4); +void la_armmtflag(lagoon_assembler_t* assembler, la_gpr_t rd, uint32_t uk8); +void la_armnot_w(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk4); +void la_armor_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk, uint32_t ud4); +void la_armrotr_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk, uint32_t ud4); +void la_armrotri_w(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk5, uint32_t ud4); +void la_armrrx_w(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk4); +void la_armsbc_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk, uint32_t ud4); +void la_armsll_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk, uint32_t ud4); +void la_armslli_w(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk5, uint32_t ud4); +void la_armsra_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk, uint32_t ud4); +void la_armsrai_w(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk5, uint32_t ud4); +void la_armsrl_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk, uint32_t ud4); +void la_armsrli_w(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk5, uint32_t ud4); +void la_armsub_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk, uint32_t ud4); +void la_armxor_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk, uint32_t ud4); +void la_asrtgt_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_asrtle_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_b(lagoon_assembler_t* assembler, int32_t sd10k16ps2); +void la_bceqz(lagoon_assembler_t* assembler, la_fcc_t cj, int32_t sd5k16ps2); +void la_bcnez(lagoon_assembler_t* assembler, la_fcc_t cj, int32_t sd5k16ps2); +void la_beq(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rd, int32_t sk16ps2); +void la_beqz(lagoon_assembler_t* assembler, la_gpr_t rj, int32_t sd5k16ps2); +void la_bge(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rd, int32_t sk16ps2); +void la_bgeu(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rd, int32_t sk16ps2); +void la_bitrev_4b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_bitrev_8b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_bitrev_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_bitrev_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_bl(lagoon_assembler_t* assembler, int32_t sd10k16ps2); +void la_blt(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rd, int32_t sk16ps2); +void la_bltu(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rd, int32_t sk16ps2); +void la_bne(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rd, int32_t sk16ps2); +void la_bnez(lagoon_assembler_t* assembler, la_gpr_t rj, int32_t sd5k16ps2); +void la_break(lagoon_assembler_t* assembler, uint32_t ud15); +void la_bstrins_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t um6, uint32_t uk6); +void la_bstrins_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t um5, uint32_t uk5); +void la_bstrpick_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t um6, uint32_t uk6); +void la_bstrpick_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t um5, uint32_t uk5); +void la_bytepick_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk, uint32_t ua3); +void la_bytepick_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk, uint32_t ua2); +void la_cacop(lagoon_assembler_t* assembler, uint32_t ud5, la_gpr_t rj, int32_t sk12); +void la_clo_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_clo_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_clz_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_clz_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_cpucfg(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_crc_w_b_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_crc_w_d_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_crc_w_h_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_crc_w_w_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_crcc_w_b_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_crcc_w_d_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_crcc_w_h_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_crcc_w_w_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_csrxchg(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk14); +void la_cto_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_cto_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_ctz_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_ctz_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_dbar(lagoon_assembler_t* assembler, uint32_t ud15); +void la_dbcl(lagoon_assembler_t* assembler, uint32_t ud15); +void la_div_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_div_du(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_div_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_div_wu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_ertn(lagoon_assembler_t* assembler); +void la_ext_w_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_ext_w_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_fabs_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_fabs_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_fadd_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk); +void la_fadd_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk); +void la_fclass_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_fclass_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_fcmp_caf_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_caf_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_ceq_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_ceq_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_cle_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_cle_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_clt_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_clt_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_cne_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_cne_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_cor_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_cor_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_cueq_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_cueq_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_cule_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_cule_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_cult_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_cult_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_cun_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_cun_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_cune_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_cune_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_saf_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_saf_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_seq_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_seq_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_sle_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_sle_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_slt_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_slt_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_sne_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_sne_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_sor_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_sor_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_sueq_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_sueq_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_sule_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_sule_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_sult_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_sult_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_sun_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_sun_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_sune_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcmp_sune_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk); +void la_fcopysign_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk); +void la_fcopysign_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk); +void la_fcvt_d_ld(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk); +void la_fcvt_d_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_fcvt_ld_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_fcvt_s_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_fcvt_ud_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_fdiv_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk); +void la_fdiv_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk); +void la_ffint_d_l(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_ffint_d_w(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_ffint_s_l(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_ffint_s_w(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_fld_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, int32_t sk12); +void la_fld_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, int32_t sk12); +void la_fldgt_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, la_gpr_t rk); +void la_fldgt_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, la_gpr_t rk); +void la_fldle_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, la_gpr_t rk); +void la_fldle_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, la_gpr_t rk); +void la_fldx_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, la_gpr_t rk); +void la_fldx_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, la_gpr_t rk); +void la_flogb_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_flogb_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_fmadd_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk, la_fpr_t fa); +void la_fmadd_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk, la_fpr_t fa); +void la_fmax_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk); +void la_fmax_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk); +void la_fmaxa_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk); +void la_fmaxa_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk); +void la_fmin_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk); +void la_fmin_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk); +void la_fmina_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk); +void la_fmina_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk); +void la_fmov_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_fmov_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_fmsub_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk, la_fpr_t fa); +void la_fmsub_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk, la_fpr_t fa); +void la_fmul_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk); +void la_fmul_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk); +void la_fneg_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_fneg_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_fnmadd_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk, la_fpr_t fa); +void la_fnmadd_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk, la_fpr_t fa); +void la_fnmsub_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk, la_fpr_t fa); +void la_fnmsub_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk, la_fpr_t fa); +void la_frecip_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_frecip_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_frecipe_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_frecipe_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_frint_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_frint_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_frsqrt_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_frsqrt_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_frsqrte_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_frsqrte_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_fscaleb_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk); +void la_fscaleb_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk); +void la_fsel(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk, la_fcc_t ca); +void la_fsqrt_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_fsqrt_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_fst_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, int32_t sk12); +void la_fst_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, int32_t sk12); +void la_fstgt_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, la_gpr_t rk); +void la_fstgt_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, la_gpr_t rk); +void la_fstle_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, la_gpr_t rk); +void la_fstle_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, la_gpr_t rk); +void la_fstx_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, la_gpr_t rk); +void la_fstx_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, la_gpr_t rk); +void la_fsub_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk); +void la_fsub_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk); +void la_ftint_l_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_ftint_l_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_ftint_w_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_ftint_w_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_ftintrm_l_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_ftintrm_l_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_ftintrm_w_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_ftintrm_w_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_ftintrne_l_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_ftintrne_l_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_ftintrne_w_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_ftintrne_w_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_ftintrp_l_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_ftintrp_l_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_ftintrp_w_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_ftintrp_w_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_ftintrz_l_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_ftintrz_l_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_ftintrz_w_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_ftintrz_w_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj); +void la_gcsrxchg(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk14); +void la_gtlbclr(lagoon_assembler_t* assembler); +void la_gtlbfill(lagoon_assembler_t* assembler); +void la_gtlbflush(lagoon_assembler_t* assembler); +void la_gtlbrd(lagoon_assembler_t* assembler); +void la_gtlbsrch(lagoon_assembler_t* assembler); +void la_gtlbwr(lagoon_assembler_t* assembler); +void la_hvcl(lagoon_assembler_t* assembler, uint32_t ud15); +void la_ibar(lagoon_assembler_t* assembler, uint32_t ud15); +void la_idle(lagoon_assembler_t* assembler, uint32_t ud15); +void la_invtlb(lagoon_assembler_t* assembler, uint32_t ud5, la_gpr_t rj, la_gpr_t rk); +void la_iocsrrd_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_iocsrrd_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_iocsrrd_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_iocsrrd_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_iocsrwr_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_iocsrwr_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_iocsrwr_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_iocsrwr_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_jirl(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk16ps2); +void la_jiscr0(lagoon_assembler_t* assembler, int32_t sd5k16ps2); +void la_jiscr1(lagoon_assembler_t* assembler, int32_t sd5k16ps2); +void la_ld_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12); +void la_ld_bu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12); +void la_ld_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12); +void la_ld_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12); +void la_ld_hu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12); +void la_ld_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12); +void la_ld_wu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12); +void la_lddir(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk8); +void la_ldgt_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_ldgt_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_ldgt_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_ldgt_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_ldl_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12); +void la_ldl_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12); +void la_ldle_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_ldle_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_ldle_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_ldle_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_ldpte(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk8); +void la_ldptr_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk14ps2); +void la_ldptr_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk14ps2); +void la_ldr_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12); +void la_ldr_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12); +void la_ldx_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_ldx_bu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_ldx_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_ldx_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_ldx_hu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_ldx_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_ldx_wu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_ll_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk14ps2); +void la_ll_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk14ps2); +void la_llacq_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_llacq_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_lu12i_w(lagoon_assembler_t* assembler, la_gpr_t rd, int32_t sj20); +void la_lu32i_d(lagoon_assembler_t* assembler, la_gpr_t rd, int32_t sj20); +void la_lu52i_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12); +void la_maskeqz(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_masknez(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_mod_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_mod_du(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_mod_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_mod_wu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_movcf2fr(lagoon_assembler_t* assembler, la_fpr_t fd, la_fcc_t cj); +void la_movcf2gr(lagoon_assembler_t* assembler, la_gpr_t rd, la_fcc_t cj); +void la_movfcsr2gr(lagoon_assembler_t* assembler, la_gpr_t rd, la_fcsr_t rj); +void la_movfr2cf(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj); +void la_movfr2gr_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_fpr_t fj); +void la_movfr2gr_s(lagoon_assembler_t* assembler, la_gpr_t rd, la_fpr_t fj); +void la_movfrh2gr_s(lagoon_assembler_t* assembler, la_gpr_t rd, la_fpr_t fj); +void la_movgr2cf(lagoon_assembler_t* assembler, la_fcc_t cd, la_gpr_t rj); +void la_movgr2fcsr(lagoon_assembler_t* assembler, la_fcsr_t rd, la_gpr_t rj); +void la_movgr2fr_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj); +void la_movgr2fr_w(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj); +void la_movgr2frh_w(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj); +void la_movgr2scr(lagoon_assembler_t* assembler, la_scr_t td, la_gpr_t rj); +void la_movscr2gr(lagoon_assembler_t* assembler, la_gpr_t rd, la_scr_t tj); +void la_mul_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_mul_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_mulh_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_mulh_du(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_mulh_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_mulh_wu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_mulw_d_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_mulw_d_wu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_nor(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_or(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_ori(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk12); +void la_orn(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_pcaddi(lagoon_assembler_t* assembler, la_gpr_t rd, int32_t sj20); +void la_pcaddu12i(lagoon_assembler_t* assembler, la_gpr_t rd, int32_t sj20); +void la_pcaddu18i(lagoon_assembler_t* assembler, la_gpr_t rd, int32_t sj20); +void la_pcalau12i(lagoon_assembler_t* assembler, la_gpr_t rd, int32_t sj20); +void la_preld(lagoon_assembler_t* assembler, uint32_t ud5, la_gpr_t rj, int32_t sk12); +void la_preldx(lagoon_assembler_t* assembler, uint32_t ud5, la_gpr_t rj, la_gpr_t rk); +void la_rcr_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_rcr_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_rcr_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_rcr_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_rcri_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk3); +void la_rcri_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk6); +void la_rcri_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk4); +void la_rcri_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk5); +void la_rdtime_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_rdtimeh_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_rdtimel_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_revb_2h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_revb_2w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_revb_4h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_revb_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_revh_2w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_revh_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_rotr_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_rotr_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_rotr_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_rotr_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_rotri_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk3); +void la_rotri_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk6); +void la_rotri_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk4); +void la_rotri_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk5); +void la_sbc_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_sbc_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_sbc_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_sbc_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_sc_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk14ps2); +void la_sc_q(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj); +void la_sc_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk14ps2); +void la_screl_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_screl_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_setarmj(lagoon_assembler_t* assembler, la_gpr_t rd, uint32_t uk4); +void la_setx86j(lagoon_assembler_t* assembler, la_gpr_t rd, uint32_t uk4); +void la_setx86loope(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_setx86loopne(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj); +void la_sll_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_sll_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_slli_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk6); +void la_slli_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk5); +void la_slt(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_slti(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12); +void la_sltu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_sltui(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12); +void la_sra_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_sra_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_srai_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk6); +void la_srai_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk5); +void la_srl_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_srl_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_srli_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk6); +void la_srli_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk5); +void la_st_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12); +void la_st_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12); +void la_st_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12); +void la_st_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12); +void la_stgt_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_stgt_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_stgt_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_stgt_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_stl_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12); +void la_stl_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12); +void la_stle_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_stle_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_stle_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_stle_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_stptr_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk14ps2); +void la_stptr_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk14ps2); +void la_str_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12); +void la_str_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12); +void la_stx_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_stx_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_stx_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_stx_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_sub_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_sub_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_syscall(lagoon_assembler_t* assembler, uint32_t ud15); +void la_tlbclr(lagoon_assembler_t* assembler); +void la_tlbfill(lagoon_assembler_t* assembler); +void la_tlbflush(lagoon_assembler_t* assembler); +void la_tlbrd(lagoon_assembler_t* assembler); +void la_tlbsrch(lagoon_assembler_t* assembler); +void la_tlbwr(lagoon_assembler_t* assembler); +void la_vabsd_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vabsd_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vabsd_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vabsd_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vabsd_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vabsd_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vabsd_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vabsd_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vadd_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vadd_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vadd_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vadd_q(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vadd_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vadda_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vadda_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vadda_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vadda_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vaddi_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vaddi_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vaddi_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vaddi_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vaddwev_d_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vaddwev_d_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vaddwev_d_wu_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vaddwev_h_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vaddwev_h_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vaddwev_h_bu_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vaddwev_q_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vaddwev_q_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vaddwev_q_du_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vaddwev_w_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vaddwev_w_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vaddwev_w_hu_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vaddwod_d_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vaddwod_d_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vaddwod_d_wu_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vaddwod_h_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vaddwod_h_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vaddwod_h_bu_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vaddwod_q_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vaddwod_q_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vaddwod_q_du_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vaddwod_w_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vaddwod_w_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vaddwod_w_hu_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vand_v(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vandi_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk8); +void la_vandn_v(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vavg_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vavg_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vavg_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vavg_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vavg_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vavg_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vavg_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vavg_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vavgr_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vavgr_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vavgr_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vavgr_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vavgr_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vavgr_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vavgr_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vavgr_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vbitclr_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vbitclr_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vbitclr_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vbitclr_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vbitclri_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk3); +void la_vbitclri_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6); +void la_vbitclri_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4); +void la_vbitclri_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vbitrev_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vbitrev_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vbitrev_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vbitrev_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vbitrevi_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk3); +void la_vbitrevi_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6); +void la_vbitrevi_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4); +void la_vbitrevi_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vbitsel_v(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk, la_vpr_t va); +void la_vbitseli_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk8); +void la_vbitset_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vbitset_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vbitset_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vbitset_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vbitseti_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk3); +void la_vbitseti_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6); +void la_vbitseti_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4); +void la_vbitseti_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vbsll_v(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vbsrl_v(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vclo_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vclo_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vclo_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vclo_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vclz_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vclz_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vclz_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vclz_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vdiv_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vdiv_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vdiv_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vdiv_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vdiv_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vdiv_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vdiv_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vdiv_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vext2xv_d_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_vext2xv_d_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_vext2xv_d_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_vext2xv_du_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_vext2xv_du_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_vext2xv_du_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_vext2xv_h_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_vext2xv_hu_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_vext2xv_w_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_vext2xv_w_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_vext2xv_wu_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_vext2xv_wu_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_vexth_d_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vexth_du_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vexth_h_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vexth_hu_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vexth_q_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vexth_qu_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vexth_w_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vexth_wu_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vextl_q_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vextl_qu_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vextrins_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk8); +void la_vextrins_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk8); +void la_vextrins_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk8); +void la_vextrins_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk8); +void la_vfadd_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfadd_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfclass_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vfclass_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vfcmp_caf_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_caf_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_ceq_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_ceq_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_cle_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_cle_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_clt_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_clt_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_cne_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_cne_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_cor_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_cor_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_cueq_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_cueq_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_cule_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_cule_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_cult_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_cult_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_cun_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_cun_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_cune_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_cune_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_saf_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_saf_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_seq_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_seq_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_sle_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_sle_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_slt_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_slt_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_sne_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_sne_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_sor_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_sor_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_sueq_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_sueq_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_sule_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_sule_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_sult_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_sult_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_sun_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_sun_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_sune_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcmp_sune_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcvt_h_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcvt_s_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfcvth_d_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vfcvth_s_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vfcvtl_d_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vfcvtl_s_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vfdiv_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfdiv_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vffint_d_l(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vffint_d_lu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vffint_s_l(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vffint_s_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vffint_s_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vffinth_d_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vffintl_d_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vflogb_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vflogb_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vfmadd_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk, la_vpr_t va); +void la_vfmadd_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk, la_vpr_t va); +void la_vfmax_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfmax_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfmaxa_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfmaxa_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfmin_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfmin_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfmina_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfmina_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfmsub_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk, la_vpr_t va); +void la_vfmsub_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk, la_vpr_t va); +void la_vfmul_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfmul_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfnmadd_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk, la_vpr_t va); +void la_vfnmadd_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk, la_vpr_t va); +void la_vfnmsub_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk, la_vpr_t va); +void la_vfnmsub_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk, la_vpr_t va); +void la_vfrecip_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vfrecip_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vfrecipe_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vfrecipe_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vfrint_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vfrint_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vfrintrm_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vfrintrm_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vfrintrne_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vfrintrne_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vfrintrp_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vfrintrp_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vfrintrz_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vfrintrz_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vfrsqrt_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vfrsqrt_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vfrsqrte_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vfrsqrte_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vfrstp_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfrstp_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfrstpi_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vfrstpi_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vfsqrt_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vfsqrt_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vfsub_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vfsub_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vftint_l_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vftint_lu_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vftint_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vftint_w_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vftint_wu_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vftinth_l_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vftintl_l_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vftintrm_l_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vftintrm_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vftintrm_w_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vftintrmh_l_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vftintrml_l_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vftintrne_l_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vftintrne_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vftintrne_w_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vftintrneh_l_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vftintrnel_l_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vftintrp_l_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vftintrp_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vftintrp_w_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vftintrph_l_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vftintrpl_l_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vftintrz_l_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vftintrz_lu_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vftintrz_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vftintrz_w_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vftintrz_wu_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vftintrzh_l_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vftintrzl_l_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vhaddw_d_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vhaddw_du_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vhaddw_h_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vhaddw_hu_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vhaddw_q_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vhaddw_qu_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vhaddw_w_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vhaddw_wu_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vhsubw_d_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vhsubw_du_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vhsubw_h_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vhsubw_hu_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vhsubw_q_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vhsubw_qu_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vhsubw_w_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vhsubw_wu_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vilvh_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vilvh_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vilvh_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vilvh_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vilvl_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vilvl_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vilvl_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vilvl_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vinsgr2vr_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, uint32_t uk4); +void la_vinsgr2vr_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, uint32_t uk1); +void la_vinsgr2vr_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, uint32_t uk3); +void la_vinsgr2vr_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, uint32_t uk2); +void la_vld(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, int32_t sk12); +void la_vldi(lagoon_assembler_t* assembler, la_vpr_t vd, int32_t sj13); +void la_vldrepl_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, int32_t sk12); +void la_vldrepl_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, int32_t sk9ps3); +void la_vldrepl_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, int32_t sk11ps1); +void la_vldrepl_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, int32_t sk10ps2); +void la_vldx(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, la_gpr_t rk); +void la_vmadd_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmadd_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmadd_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmadd_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmaddwev_d_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmaddwev_d_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmaddwev_d_wu_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmaddwev_h_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmaddwev_h_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmaddwev_h_bu_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmaddwev_q_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmaddwev_q_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmaddwev_q_du_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmaddwev_w_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmaddwev_w_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmaddwev_w_hu_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmaddwod_d_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmaddwod_d_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmaddwod_d_wu_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmaddwod_h_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmaddwod_h_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmaddwod_h_bu_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmaddwod_q_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmaddwod_q_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmaddwod_q_du_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmaddwod_w_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmaddwod_w_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmaddwod_w_hu_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmax_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmax_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmax_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmax_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmax_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmax_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmax_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmax_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmaxi_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5); +void la_vmaxi_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vmaxi_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5); +void la_vmaxi_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vmaxi_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5); +void la_vmaxi_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vmaxi_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5); +void la_vmaxi_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vmepatmsk_v(lagoon_assembler_t* assembler, la_vpr_t vd, uint32_t uj5, uint32_t uk5); +void la_vmin_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmin_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmin_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmin_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmin_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmin_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmin_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmin_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmini_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5); +void la_vmini_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vmini_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5); +void la_vmini_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vmini_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5); +void la_vmini_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vmini_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5); +void la_vmini_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vmod_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmod_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmod_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmod_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmod_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmod_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmod_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmod_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmskgez_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vmskltz_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vmskltz_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vmskltz_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vmskltz_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vmsknz_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vmsub_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmsub_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmsub_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmsub_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmuh_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmuh_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmuh_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmuh_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmuh_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmuh_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmuh_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmuh_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmul_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmul_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmul_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmul_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmulwev_d_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmulwev_d_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmulwev_d_wu_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmulwev_h_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmulwev_h_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmulwev_h_bu_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmulwev_q_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmulwev_q_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmulwev_q_du_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmulwev_w_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmulwev_w_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmulwev_w_hu_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmulwod_d_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmulwod_d_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmulwod_d_wu_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmulwod_h_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmulwod_h_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmulwod_h_bu_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmulwod_q_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmulwod_q_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmulwod_q_du_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmulwod_w_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmulwod_w_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vmulwod_w_hu_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vneg_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vneg_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vneg_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vneg_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vnor_v(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vnori_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk8); +void la_vor_v(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vori_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk8); +void la_vorn_v(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vpackev_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vpackev_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vpackev_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vpackev_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vpackod_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vpackod_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vpackod_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vpackod_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vpcnt_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vpcnt_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vpcnt_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vpcnt_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj); +void la_vpermi_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk8); +void la_vpickev_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vpickev_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vpickev_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vpickev_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vpickod_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vpickod_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vpickod_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vpickod_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vpickve2gr_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_vpr_t vj, uint32_t uk4); +void la_vpickve2gr_bu(lagoon_assembler_t* assembler, la_gpr_t rd, la_vpr_t vj, uint32_t uk4); +void la_vpickve2gr_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_vpr_t vj, uint32_t uk1); +void la_vpickve2gr_du(lagoon_assembler_t* assembler, la_gpr_t rd, la_vpr_t vj, uint32_t uk1); +void la_vpickve2gr_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_vpr_t vj, uint32_t uk3); +void la_vpickve2gr_hu(lagoon_assembler_t* assembler, la_gpr_t rd, la_vpr_t vj, uint32_t uk3); +void la_vpickve2gr_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_vpr_t vj, uint32_t uk2); +void la_vpickve2gr_wu(lagoon_assembler_t* assembler, la_gpr_t rd, la_vpr_t vj, uint32_t uk2); +void la_vreplgr2vr_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj); +void la_vreplgr2vr_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj); +void la_vreplgr2vr_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj); +void la_vreplgr2vr_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj); +void la_vreplve_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_gpr_t rk); +void la_vreplve_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_gpr_t rk); +void la_vreplve_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_gpr_t rk); +void la_vreplve_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_gpr_t rk); +void la_vreplvei_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4); +void la_vreplvei_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk1); +void la_vreplvei_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk3); +void la_vreplvei_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk2); +void la_vrotr_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vrotr_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vrotr_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vrotr_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vrotri_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk3); +void la_vrotri_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6); +void la_vrotri_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4); +void la_vrotri_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vsadd_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsadd_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsadd_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsadd_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsadd_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsadd_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsadd_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsadd_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsat_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk3); +void la_vsat_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk3); +void la_vsat_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6); +void la_vsat_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6); +void la_vsat_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4); +void la_vsat_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4); +void la_vsat_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vsat_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vseq_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vseq_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vseq_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vseq_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vseqi_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5); +void la_vseqi_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5); +void la_vseqi_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5); +void la_vseqi_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5); +void la_vsetallnez_b(lagoon_assembler_t* assembler, la_fcc_t cd, la_vpr_t vj); +void la_vsetallnez_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_vpr_t vj); +void la_vsetallnez_h(lagoon_assembler_t* assembler, la_fcc_t cd, la_vpr_t vj); +void la_vsetallnez_w(lagoon_assembler_t* assembler, la_fcc_t cd, la_vpr_t vj); +void la_vsetanyeqz_b(lagoon_assembler_t* assembler, la_fcc_t cd, la_vpr_t vj); +void la_vsetanyeqz_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_vpr_t vj); +void la_vsetanyeqz_h(lagoon_assembler_t* assembler, la_fcc_t cd, la_vpr_t vj); +void la_vsetanyeqz_w(lagoon_assembler_t* assembler, la_fcc_t cd, la_vpr_t vj); +void la_vseteqz_v(lagoon_assembler_t* assembler, la_fcc_t cd, la_vpr_t vj); +void la_vsetnez_v(lagoon_assembler_t* assembler, la_fcc_t cd, la_vpr_t vj); +void la_vshuf4i_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk8); +void la_vshuf4i_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk8); +void la_vshuf4i_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk8); +void la_vshuf4i_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk8); +void la_vshuf_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk, la_vpr_t va); +void la_vshuf_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vshuf_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vshuf_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsigncov_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsigncov_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsigncov_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsigncov_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsle_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsle_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsle_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsle_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsle_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsle_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsle_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsle_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vslei_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5); +void la_vslei_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vslei_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5); +void la_vslei_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vslei_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5); +void la_vslei_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vslei_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5); +void la_vslei_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vsll_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsll_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsll_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsll_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vslli_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk3); +void la_vslli_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6); +void la_vslli_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4); +void la_vslli_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vsllwil_d_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vsllwil_du_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vsllwil_h_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk3); +void la_vsllwil_hu_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk3); +void la_vsllwil_w_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4); +void la_vsllwil_wu_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4); +void la_vslt_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vslt_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vslt_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vslt_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vslt_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vslt_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vslt_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vslt_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vslti_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5); +void la_vslti_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vslti_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5); +void la_vslti_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vslti_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5); +void la_vslti_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vslti_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5); +void la_vslti_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vsra_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsra_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsra_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsra_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsrai_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk3); +void la_vsrai_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6); +void la_vsrai_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4); +void la_vsrai_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vsran_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsran_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsran_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsrani_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4); +void la_vsrani_d_q(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk7); +void la_vsrani_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vsrani_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6); +void la_vsrar_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsrar_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsrar_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsrar_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsrari_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk3); +void la_vsrari_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6); +void la_vsrari_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4); +void la_vsrari_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vsrarn_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsrarn_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsrarn_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsrarni_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4); +void la_vsrarni_d_q(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk7); +void la_vsrarni_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vsrarni_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6); +void la_vsrl_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsrl_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsrl_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsrl_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsrli_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk3); +void la_vsrli_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6); +void la_vsrli_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4); +void la_vsrli_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vsrln_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsrln_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsrln_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsrlni_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4); +void la_vsrlni_d_q(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk7); +void la_vsrlni_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vsrlni_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6); +void la_vsrlr_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsrlr_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsrlr_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsrlr_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsrlri_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk3); +void la_vsrlri_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6); +void la_vsrlri_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4); +void la_vsrlri_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vsrlrn_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsrlrn_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsrlrn_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsrlrni_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4); +void la_vsrlrni_d_q(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk7); +void la_vsrlrni_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vsrlrni_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6); +void la_vssran_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vssran_bu_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vssran_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vssran_hu_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vssran_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vssran_wu_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vssrani_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4); +void la_vssrani_bu_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4); +void la_vssrani_d_q(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk7); +void la_vssrani_du_q(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk7); +void la_vssrani_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vssrani_hu_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vssrani_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6); +void la_vssrani_wu_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6); +void la_vssrarn_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vssrarn_bu_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vssrarn_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vssrarn_hu_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vssrarn_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vssrarn_wu_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vssrarni_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4); +void la_vssrarni_bu_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4); +void la_vssrarni_d_q(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk7); +void la_vssrarni_du_q(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk7); +void la_vssrarni_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vssrarni_hu_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vssrarni_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6); +void la_vssrarni_wu_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6); +void la_vssrln_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vssrln_bu_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vssrln_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vssrln_hu_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vssrln_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vssrln_wu_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vssrlni_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4); +void la_vssrlni_bu_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4); +void la_vssrlni_d_q(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk7); +void la_vssrlni_du_q(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk7); +void la_vssrlni_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vssrlni_hu_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vssrlni_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6); +void la_vssrlni_wu_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6); +void la_vssrlrn_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vssrlrn_bu_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vssrlrn_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vssrlrn_hu_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vssrlrn_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vssrlrn_wu_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vssrlrni_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4); +void la_vssrlrni_bu_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4); +void la_vssrlrni_d_q(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk7); +void la_vssrlrni_du_q(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk7); +void la_vssrlrni_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vssrlrni_hu_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vssrlrni_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6); +void la_vssrlrni_wu_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6); +void la_vssub_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vssub_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vssub_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vssub_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vssub_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vssub_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vssub_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vssub_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vst(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, int32_t sk12); +void la_vstelm_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, int32_t sk8, uint32_t un4); +void la_vstelm_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, int32_t sk8ps3, uint32_t un1); +void la_vstelm_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, int32_t sk8ps1, uint32_t un3); +void la_vstelm_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, int32_t sk8ps2, uint32_t un2); +void la_vstx(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, la_gpr_t rk); +void la_vsub_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsub_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsub_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsub_q(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsub_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsubi_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vsubi_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vsubi_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vsubi_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5); +void la_vsubwev_d_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsubwev_d_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsubwev_h_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsubwev_h_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsubwev_q_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsubwev_q_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsubwev_w_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsubwev_w_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsubwod_d_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsubwod_d_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsubwod_h_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsubwod_h_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsubwod_q_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsubwod_q_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsubwod_w_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vsubwod_w_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vxor_v(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk); +void la_vxori_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk8); +void la_x86adc_b(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86adc_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86adc_h(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86adc_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86add_b(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86add_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86add_du(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86add_h(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86add_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86add_wu(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86and_b(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86and_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86and_h(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86and_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86clrtm(lagoon_assembler_t* assembler); +void la_x86dec_b(lagoon_assembler_t* assembler, la_gpr_t rj); +void la_x86dec_d(lagoon_assembler_t* assembler, la_gpr_t rj); +void la_x86dec_h(lagoon_assembler_t* assembler, la_gpr_t rj); +void la_x86dec_w(lagoon_assembler_t* assembler, la_gpr_t rj); +void la_x86dectop(lagoon_assembler_t* assembler); +void la_x86inc_b(lagoon_assembler_t* assembler, la_gpr_t rj); +void la_x86inc_d(lagoon_assembler_t* assembler, la_gpr_t rj); +void la_x86inc_h(lagoon_assembler_t* assembler, la_gpr_t rj); +void la_x86inc_w(lagoon_assembler_t* assembler, la_gpr_t rj); +void la_x86inctop(lagoon_assembler_t* assembler); +void la_x86mfflag(lagoon_assembler_t* assembler, la_gpr_t rd, uint32_t uk8); +void la_x86mftop(lagoon_assembler_t* assembler, la_gpr_t rd); +void la_x86mtflag(lagoon_assembler_t* assembler, la_gpr_t rd, uint32_t uk8); +void la_x86mttop(lagoon_assembler_t* assembler, uint32_t uj3); +void la_x86mul_b(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86mul_bu(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86mul_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86mul_du(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86mul_h(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86mul_hu(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86mul_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86mul_wu(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86or_b(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86or_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86or_h(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86or_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86rcl_b(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86rcl_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86rcl_h(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86rcl_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86rcli_b(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk3); +void la_x86rcli_d(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk6); +void la_x86rcli_h(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk4); +void la_x86rcli_w(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk5); +void la_x86rcr_b(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86rcr_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86rcr_h(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86rcr_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86rcri_b(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk3); +void la_x86rcri_d(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk6); +void la_x86rcri_h(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk4); +void la_x86rcri_w(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk5); +void la_x86rotl_b(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86rotl_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86rotl_h(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86rotl_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86rotli_b(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk3); +void la_x86rotli_d(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk6); +void la_x86rotli_h(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk4); +void la_x86rotli_w(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk5); +void la_x86rotr_b(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86rotr_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86rotr_h(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86rotr_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86rotri_b(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk3); +void la_x86rotri_d(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk6); +void la_x86rotri_h(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk4); +void la_x86rotri_w(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk5); +void la_x86sbc_b(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86sbc_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86sbc_h(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86sbc_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86settag(lagoon_assembler_t* assembler, la_gpr_t rd, uint32_t uj5, uint32_t uk8); +void la_x86settm(lagoon_assembler_t* assembler); +void la_x86sll_b(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86sll_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86sll_h(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86sll_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86slli_b(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk3); +void la_x86slli_d(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk6); +void la_x86slli_h(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk4); +void la_x86slli_w(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk5); +void la_x86sra_b(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86sra_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86sra_h(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86sra_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86srai_b(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk3); +void la_x86srai_d(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk6); +void la_x86srai_h(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk4); +void la_x86srai_w(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk5); +void la_x86srl_b(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86srl_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86srl_h(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86srl_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86srli_b(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk3); +void la_x86srli_d(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk6); +void la_x86srli_h(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk4); +void la_x86srli_w(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk5); +void la_x86sub_b(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86sub_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86sub_du(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86sub_h(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86sub_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86sub_wu(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86xor_b(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86xor_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86xor_h(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_x86xor_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk); +void la_xor(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk); +void la_xori(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk12); +void la_xvabsd_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvabsd_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvabsd_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvabsd_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvabsd_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvabsd_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvabsd_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvabsd_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvadd_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvadd_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvadd_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvadd_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvadd_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvadda_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvadda_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvadda_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvadda_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvaddi_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvaddi_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvaddi_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvaddi_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvaddwev_d_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvaddwev_d_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvaddwev_d_wu_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvaddwev_h_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvaddwev_h_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvaddwev_h_bu_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvaddwev_q_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvaddwev_q_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvaddwev_q_du_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvaddwev_w_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvaddwev_w_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvaddwev_w_hu_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvaddwod_d_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvaddwod_d_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvaddwod_d_wu_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvaddwod_h_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvaddwod_h_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvaddwod_h_bu_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvaddwod_q_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvaddwod_q_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvaddwod_q_du_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvaddwod_w_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvaddwod_w_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvaddwod_w_hu_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvand_v(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvandi_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8); +void la_xvandn_v(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvavg_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvavg_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvavg_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvavg_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvavg_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvavg_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvavg_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvavg_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvavgr_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvavgr_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvavgr_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvavgr_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvavgr_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvavgr_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvavgr_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvavgr_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvbitclr_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvbitclr_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvbitclr_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvbitclr_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvbitclri_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3); +void la_xvbitclri_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6); +void la_xvbitclri_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4); +void la_xvbitclri_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvbitrev_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvbitrev_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvbitrev_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvbitrev_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvbitrevi_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3); +void la_xvbitrevi_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6); +void la_xvbitrevi_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4); +void la_xvbitrevi_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvbitsel_v(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk, la_xvpr_t xa); +void la_xvbitseli_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8); +void la_xvbitset_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvbitset_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvbitset_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvbitset_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvbitseti_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3); +void la_xvbitseti_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6); +void la_xvbitseti_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4); +void la_xvbitseti_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvbsll_v(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvbsrl_v(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvclo_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvclo_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvclo_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvclo_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvclz_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvclz_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvclz_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvclz_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvdiv_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvdiv_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvdiv_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvdiv_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvdiv_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvdiv_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvdiv_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvdiv_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvexth_d_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvexth_du_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvexth_h_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvexth_hu_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvexth_q_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvexth_qu_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvexth_w_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvexth_wu_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvextl_q_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvextl_qu_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvextrins_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8); +void la_xvextrins_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8); +void la_xvextrins_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8); +void la_xvextrins_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8); +void la_xvfadd_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfadd_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfclass_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvfclass_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvfcmp_caf_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_caf_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_ceq_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_ceq_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_cle_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_cle_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_clt_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_clt_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_cne_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_cne_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_cor_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_cor_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_cueq_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_cueq_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_cule_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_cule_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_cult_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_cult_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_cun_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_cun_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_cune_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_cune_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_saf_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_saf_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_seq_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_seq_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_sle_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_sle_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_slt_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_slt_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_sne_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_sne_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_sor_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_sor_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_sueq_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_sueq_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_sule_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_sule_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_sult_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_sult_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_sun_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_sun_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_sune_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcmp_sune_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcvt_h_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcvt_s_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfcvth_d_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvfcvth_s_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvfcvtl_d_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvfcvtl_s_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvfdiv_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfdiv_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvffint_d_l(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvffint_d_lu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvffint_s_l(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvffint_s_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvffint_s_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvffinth_d_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvffintl_d_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvflogb_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvflogb_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvfmadd_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk, la_xvpr_t xa); +void la_xvfmadd_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk, la_xvpr_t xa); +void la_xvfmax_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfmax_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfmaxa_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfmaxa_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfmin_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfmin_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfmina_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfmina_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfmsub_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk, la_xvpr_t xa); +void la_xvfmsub_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk, la_xvpr_t xa); +void la_xvfmul_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfmul_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfnmadd_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk, la_xvpr_t xa); +void la_xvfnmadd_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk, la_xvpr_t xa); +void la_xvfnmsub_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk, la_xvpr_t xa); +void la_xvfnmsub_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk, la_xvpr_t xa); +void la_xvfrecip_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvfrecip_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvfrecipe_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvfrecipe_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvfrint_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvfrint_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvfrintrm_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvfrintrm_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvfrintrne_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvfrintrne_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvfrintrp_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvfrintrp_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvfrintrz_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvfrintrz_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvfrsqrt_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvfrsqrt_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvfrsqrte_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvfrsqrte_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvfrstp_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfrstp_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfrstpi_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvfrstpi_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvfsqrt_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvfsqrt_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvfsub_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvfsub_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvftint_l_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvftint_lu_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvftint_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvftint_w_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvftint_wu_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvftinth_l_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvftintl_l_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvftintrm_l_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvftintrm_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvftintrm_w_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvftintrmh_l_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvftintrml_l_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvftintrne_l_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvftintrne_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvftintrne_w_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvftintrneh_l_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvftintrnel_l_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvftintrp_l_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvftintrp_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvftintrp_w_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvftintrph_l_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvftintrpl_l_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvftintrz_l_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvftintrz_lu_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvftintrz_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvftintrz_w_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvftintrz_wu_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvftintrzh_l_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvftintrzl_l_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvhaddw_d_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvhaddw_du_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvhaddw_h_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvhaddw_hu_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvhaddw_q_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvhaddw_qu_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvhaddw_w_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvhaddw_wu_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvhsubw_d_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvhsubw_du_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvhsubw_h_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvhsubw_hu_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvhsubw_q_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvhsubw_qu_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvhsubw_w_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvhsubw_wu_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvilvh_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvilvh_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvilvh_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvilvh_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvilvl_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvilvl_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvilvl_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvilvl_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvinsgr2vr_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj, uint32_t uk2); +void la_xvinsgr2vr_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj, uint32_t uk3); +void la_xvinsve0_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk2); +void la_xvinsve0_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3); +void la_xvld(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj, int32_t sk12); +void la_xvldi(lagoon_assembler_t* assembler, la_xvpr_t xd, int32_t sj13); +void la_xvldrepl_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj, int32_t sk12); +void la_xvldrepl_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj, int32_t sk9ps3); +void la_xvldrepl_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj, int32_t sk11ps1); +void la_xvldrepl_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj, int32_t sk10ps2); +void la_xvldx(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj, la_gpr_t rk); +void la_xvmadd_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmadd_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmadd_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmadd_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmaddwev_d_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmaddwev_d_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmaddwev_d_wu_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmaddwev_h_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmaddwev_h_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmaddwev_h_bu_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmaddwev_q_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmaddwev_q_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmaddwev_q_du_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmaddwev_w_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmaddwev_w_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmaddwev_w_hu_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmaddwod_d_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmaddwod_d_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmaddwod_d_wu_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmaddwod_h_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmaddwod_h_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmaddwod_h_bu_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmaddwod_q_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmaddwod_q_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmaddwod_q_du_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmaddwod_w_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmaddwod_w_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmaddwod_w_hu_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmax_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmax_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmax_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmax_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmax_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmax_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmax_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmax_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmaxi_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5); +void la_xvmaxi_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvmaxi_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5); +void la_xvmaxi_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvmaxi_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5); +void la_xvmaxi_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvmaxi_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5); +void la_xvmaxi_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvmepatmsk_v(lagoon_assembler_t* assembler, la_xvpr_t xd, uint32_t uj5, uint32_t uk5); +void la_xvmin_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmin_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmin_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmin_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmin_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmin_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmin_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmin_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmini_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5); +void la_xvmini_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvmini_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5); +void la_xvmini_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvmini_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5); +void la_xvmini_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvmini_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5); +void la_xvmini_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvmod_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmod_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmod_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmod_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmod_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmod_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmod_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmod_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmskgez_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvmskltz_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvmskltz_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvmskltz_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvmskltz_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvmsknz_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvmsub_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmsub_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmsub_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmsub_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmuh_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmuh_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmuh_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmuh_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmuh_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmuh_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmuh_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmuh_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmul_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmul_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmul_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmul_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmulwev_d_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmulwev_d_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmulwev_d_wu_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmulwev_h_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmulwev_h_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmulwev_h_bu_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmulwev_q_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmulwev_q_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmulwev_q_du_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmulwev_w_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmulwev_w_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmulwev_w_hu_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmulwod_d_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmulwod_d_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmulwod_d_wu_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmulwod_h_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmulwod_h_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmulwod_h_bu_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmulwod_q_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmulwod_q_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmulwod_q_du_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmulwod_w_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmulwod_w_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvmulwod_w_hu_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvneg_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvneg_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvneg_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvneg_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvnor_v(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvnori_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8); +void la_xvor_v(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvori_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8); +void la_xvorn_v(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvpackev_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvpackev_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvpackev_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvpackev_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvpackod_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvpackod_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvpackod_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvpackod_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvpcnt_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvpcnt_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvpcnt_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvpcnt_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvperm_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvpermi_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8); +void la_xvpermi_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8); +void la_xvpermi_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8); +void la_xvpickev_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvpickev_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvpickev_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvpickev_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvpickod_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvpickod_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvpickod_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvpickod_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvpickve2gr_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_xvpr_t xj, uint32_t uk2); +void la_xvpickve2gr_du(lagoon_assembler_t* assembler, la_gpr_t rd, la_xvpr_t xj, uint32_t uk2); +void la_xvpickve2gr_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_xvpr_t xj, uint32_t uk3); +void la_xvpickve2gr_wu(lagoon_assembler_t* assembler, la_gpr_t rd, la_xvpr_t xj, uint32_t uk3); +void la_xvpickve_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk2); +void la_xvpickve_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3); +void la_xvrepl128vei_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4); +void la_xvrepl128vei_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk1); +void la_xvrepl128vei_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3); +void la_xvrepl128vei_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk2); +void la_xvreplgr2vr_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj); +void la_xvreplgr2vr_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj); +void la_xvreplgr2vr_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj); +void la_xvreplgr2vr_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj); +void la_xvreplve0_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvreplve0_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvreplve0_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvreplve0_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvreplve0_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj); +void la_xvreplve_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_gpr_t rk); +void la_xvreplve_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_gpr_t rk); +void la_xvreplve_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_gpr_t rk); +void la_xvreplve_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_gpr_t rk); +void la_xvrotr_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvrotr_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvrotr_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvrotr_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvrotri_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3); +void la_xvrotri_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6); +void la_xvrotri_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4); +void la_xvrotri_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvsadd_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsadd_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsadd_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsadd_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsadd_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsadd_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsadd_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsadd_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsat_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3); +void la_xvsat_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3); +void la_xvsat_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6); +void la_xvsat_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6); +void la_xvsat_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4); +void la_xvsat_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4); +void la_xvsat_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvsat_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvseq_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvseq_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvseq_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvseq_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvseqi_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5); +void la_xvseqi_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5); +void la_xvseqi_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5); +void la_xvseqi_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5); +void la_xvsetallnez_b(lagoon_assembler_t* assembler, la_fcc_t cd, la_xvpr_t xj); +void la_xvsetallnez_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_xvpr_t xj); +void la_xvsetallnez_h(lagoon_assembler_t* assembler, la_fcc_t cd, la_xvpr_t xj); +void la_xvsetallnez_w(lagoon_assembler_t* assembler, la_fcc_t cd, la_xvpr_t xj); +void la_xvsetanyeqz_b(lagoon_assembler_t* assembler, la_fcc_t cd, la_xvpr_t xj); +void la_xvsetanyeqz_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_xvpr_t xj); +void la_xvsetanyeqz_h(lagoon_assembler_t* assembler, la_fcc_t cd, la_xvpr_t xj); +void la_xvsetanyeqz_w(lagoon_assembler_t* assembler, la_fcc_t cd, la_xvpr_t xj); +void la_xvseteqz_v(lagoon_assembler_t* assembler, la_fcc_t cd, la_xvpr_t xj); +void la_xvsetnez_v(lagoon_assembler_t* assembler, la_fcc_t cd, la_xvpr_t xj); +void la_xvshuf4i_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8); +void la_xvshuf4i_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8); +void la_xvshuf4i_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8); +void la_xvshuf4i_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8); +void la_xvshuf_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk, la_xvpr_t xa); +void la_xvshuf_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvshuf_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvshuf_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsigncov_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsigncov_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsigncov_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsigncov_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsle_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsle_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsle_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsle_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsle_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsle_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsle_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsle_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvslei_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5); +void la_xvslei_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvslei_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5); +void la_xvslei_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvslei_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5); +void la_xvslei_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvslei_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5); +void la_xvslei_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvsll_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsll_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsll_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsll_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvslli_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3); +void la_xvslli_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6); +void la_xvslli_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4); +void la_xvslli_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvsllwil_d_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvsllwil_du_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvsllwil_h_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3); +void la_xvsllwil_hu_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3); +void la_xvsllwil_w_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4); +void la_xvsllwil_wu_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4); +void la_xvslt_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvslt_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvslt_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvslt_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvslt_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvslt_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvslt_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvslt_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvslti_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5); +void la_xvslti_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvslti_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5); +void la_xvslti_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvslti_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5); +void la_xvslti_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvslti_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5); +void la_xvslti_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvsra_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsra_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsra_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsra_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsrai_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3); +void la_xvsrai_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6); +void la_xvsrai_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4); +void la_xvsrai_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvsran_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsran_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsran_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsrani_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4); +void la_xvsrani_d_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk7); +void la_xvsrani_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvsrani_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6); +void la_xvsrar_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsrar_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsrar_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsrar_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsrari_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3); +void la_xvsrari_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6); +void la_xvsrari_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4); +void la_xvsrari_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvsrarn_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsrarn_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsrarn_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsrarni_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4); +void la_xvsrarni_d_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk7); +void la_xvsrarni_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvsrarni_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6); +void la_xvsrl_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsrl_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsrl_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsrl_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsrli_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3); +void la_xvsrli_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6); +void la_xvsrli_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4); +void la_xvsrli_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvsrln_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsrln_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsrln_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsrlni_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4); +void la_xvsrlni_d_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk7); +void la_xvsrlni_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvsrlni_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6); +void la_xvsrlr_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsrlr_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsrlr_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsrlr_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsrlri_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3); +void la_xvsrlri_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6); +void la_xvsrlri_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4); +void la_xvsrlri_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvsrlrn_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsrlrn_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsrlrn_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsrlrni_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4); +void la_xvsrlrni_d_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk7); +void la_xvsrlrni_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvsrlrni_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6); +void la_xvssran_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvssran_bu_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvssran_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvssran_hu_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvssran_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvssran_wu_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvssrani_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4); +void la_xvssrani_bu_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4); +void la_xvssrani_d_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk7); +void la_xvssrani_du_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk7); +void la_xvssrani_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvssrani_hu_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvssrani_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6); +void la_xvssrani_wu_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6); +void la_xvssrarn_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvssrarn_bu_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvssrarn_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvssrarn_hu_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvssrarn_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvssrarn_wu_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvssrarni_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4); +void la_xvssrarni_bu_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4); +void la_xvssrarni_d_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk7); +void la_xvssrarni_du_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk7); +void la_xvssrarni_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvssrarni_hu_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvssrarni_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6); +void la_xvssrarni_wu_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6); +void la_xvssrln_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvssrln_bu_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvssrln_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvssrln_hu_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvssrln_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvssrln_wu_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvssrlni_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4); +void la_xvssrlni_bu_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4); +void la_xvssrlni_d_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk7); +void la_xvssrlni_du_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk7); +void la_xvssrlni_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvssrlni_hu_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvssrlni_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6); +void la_xvssrlni_wu_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6); +void la_xvssrlrn_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvssrlrn_bu_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvssrlrn_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvssrlrn_hu_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvssrlrn_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvssrlrn_wu_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvssrlrni_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4); +void la_xvssrlrni_bu_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4); +void la_xvssrlrni_d_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk7); +void la_xvssrlrni_du_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk7); +void la_xvssrlrni_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvssrlrni_hu_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvssrlrni_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6); +void la_xvssrlrni_wu_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6); +void la_xvssub_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvssub_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvssub_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvssub_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvssub_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvssub_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvssub_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvssub_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvst(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj, int32_t sk12); +void la_xvstelm_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj, int32_t sk8, uint32_t un5); +void la_xvstelm_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj, int32_t sk8ps3, uint32_t un2); +void la_xvstelm_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj, int32_t sk8ps1, uint32_t un4); +void la_xvstelm_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj, int32_t sk8ps2, uint32_t un3); +void la_xvstx(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj, la_gpr_t rk); +void la_xvsub_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsub_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsub_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsub_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsub_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsubi_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvsubi_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvsubi_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvsubi_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5); +void la_xvsubwev_d_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsubwev_d_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsubwev_h_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsubwev_h_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsubwev_q_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsubwev_q_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsubwev_w_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsubwev_w_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsubwod_d_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsubwod_d_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsubwod_h_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsubwod_h_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsubwod_q_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsubwod_q_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsubwod_w_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvsubwod_w_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvxor_v(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk); +void la_xvxori_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8); +void la_xxx_unknown_1(lagoon_assembler_t* assembler); + +//// ANCHOR: mnemonic function declarations end + +// clang-format on + +typedef enum { + LA_OP_GPR, + LA_OP_FPR, + LA_OP_VPR, + LA_OP_XVPR, + LA_OP_FCC, + LA_OP_SCR, + LA_OP_FCSR, + LA_OP_SIMM, + LA_OP_UIMM, +} la_operand_kind_t; + +typedef struct { + la_operand_kind_t kind; + union { + la_gpr_t gpr; + la_fpr_t fpr; + la_vpr_t vpr; + la_xvpr_t xvpr; + la_fcc_t fcc; + la_scr_t scr; + la_fcsr_t fcsr; + int32_t simm; + uint32_t uimm; + }; +} la_operand_t; + +#define LA_MAX_OPERANDS 4 + +typedef struct { + size_t offset; + uint32_t encoding; + const char* mnemonic; + int operand_count; + la_operand_t operands[LA_MAX_OPERANDS]; +} lagoon_insn_t; + +void la_disasm_one(uint32_t word, lagoon_insn_t* insn); +void la_insn_to_str(const lagoon_insn_t* insn, char* buf, size_t buf_size); + +#endif // LAGOON_H \ No newline at end of file diff --git a/dep/lagoon/lagoon.c b/dep/lagoon/lagoon.c new file mode 100644 index 000000000..2bb379ac0 --- /dev/null +++ b/dep/lagoon/lagoon.c @@ -0,0 +1,31867 @@ +#include +#include +#include + +#include "include/lagoon.h" + +static void emit32(lagoon_assembler_t* assembler, uint32_t instruction) +{ + *((uint32_t*)(assembler->cursor)) = instruction; + assembler->cursor += 4; +} + +void la_init_assembler(lagoon_assembler_t* assembler, uint8_t* buffer, size_t capacity) +{ + assembler->buffer = buffer; + assembler->capacity = capacity; + assembler->cursor = buffer; +} + +size_t la_get_remaining_buffer_size(lagoon_assembler_t* assembler) +{ + return assembler->capacity - (size_t)(assembler->cursor - assembler->buffer); +} + +void la_bind(lagoon_assembler_t* assembler, lagoon_label_t* label) +{ + label->location = (ptrdiff_t)(assembler->cursor - assembler->buffer); + label->is_bound = 1; + + // backpatch + for (size_t i = 0; i < label->offset_count; i++) { + uint8_t* patch_location = assembler->buffer + label->offsets[i]; + + ptrdiff_t offset = (label->location - (label->offsets[i])) >> 2; + uint32_t instruction = *((uint32_t*)patch_location); + /* B */ + if ((instruction & 0b11111100000000000000000000000000) == 0x50000000) + instruction = (instruction & ~(0x3ffu | (0xffff << 10))) | ((offset >> 16) & 0x3ff) | ((offset & 0xffff) << 10); + /* BL */ + else if ((instruction & 0b11111100000000000000000000000000) == 0x54000000) + instruction = (instruction & ~(0x3ffu | (0xffff << 10))) | ((offset >> 16) & 0x3ff) | ((offset & 0xffff) << 10); + /* BCEQZ */ + else if ((instruction & 0b11111100000000000000001100000000) == 0x48000000) + instruction = (instruction & ~(0x1fu | (0xffff << 10))) | ((offset >> 16) & 0x1f) | ((offset & 0xffff) << 10); + /* BCNEZ */ + else if ((instruction & 0b11111100000000000000001100000000) == 0x48000100) + instruction = (instruction & ~(0x1fu | (0xffff << 10))) | ((offset >> 16) & 0x1f) | ((offset & 0xffff) << 10); + /* BEQZ */ + else if ((instruction & 0b11111100000000000000000000000000) == 0x40000000) + instruction = (instruction & ~(0x1fu | (0xffff << 10))) | ((offset >> 16) & 0x1f) | ((offset & 0xffff) << 10); + /* BNEZ */ + else if ((instruction & 0b11111100000000000000000000000000) == 0x44000000) + instruction = (instruction & ~(0x1fu | (0xffff << 10))) | ((offset >> 16) & 0x1f) | ((offset & 0xffff) << 10); + /* BEQ */ + else if ((instruction & 0b11111100000000000000000000000000) == 0x58000000) + instruction = (instruction & ~(0xffffu << 10)) | ((offset & 0xffff) << 10); + /* BGE */ + else if ((instruction & 0b11111100000000000000000000000000) == 0x64000000) + instruction = (instruction & ~(0xffffu << 10)) | ((offset & 0xffff) << 10); + /* BGEU */ + else if ((instruction & 0b11111100000000000000000000000000) == 0x6c000000) + instruction = (instruction & ~(0xffffu << 10)) | ((offset & 0xffff) << 10); + /* BLT */ + else if ((instruction & 0b11111100000000000000000000000000) == 0x60000000) + instruction = (instruction & ~(0xffffu << 10)) | ((offset & 0xffff) << 10); + /* BLTU */ + else if ((instruction & 0b11111100000000000000000000000000) == 0x68000000) + instruction = (instruction & ~(0xffffu << 10)) | ((offset & 0xffff) << 10); + /* BNE */ + else if ((instruction & 0b11111100000000000000000000000000) == 0x5c000000) + instruction = (instruction & ~(0xffffu << 10)) | ((offset & 0xffff) << 10); + /* JIRL */ + else if ((instruction & 0b11111100000000000000000000000000) == 0x4c000000) + instruction = (instruction & ~(0xffffu << 10)) | ((offset & 0xffff) << 10); + /* JISCR0 */ + else if ((instruction & 0b11111100000000000000001111100000) == 0x48000200) + instruction = (instruction & ~(0x1fu | (0xffffu << 10))) | ((offset >> 16) & 0x1f) | ((offset & 0xffff) << 10); + /* JISCR1 */ + else if ((instruction & 0b11111100000000000000001111100000) == 0x48000300) + instruction = (instruction & ~(0x1fu | (0xffffu << 10))) | ((offset >> 16) & 0x1f) | ((offset & 0xffff) << 10); + + *((uint32_t*)patch_location) = instruction; + } +} + +ptrdiff_t la_label(lagoon_assembler_t* assembler, lagoon_label_t* label) +{ + if (label->is_bound) { + ptrdiff_t result = (label->location - (ptrdiff_t)(assembler->cursor - assembler->buffer)); + return result; + } + + if (label->offsets == NULL) { + label->offsets = (ptrdiff_t*)malloc(sizeof(ptrdiff_t) * 4); + label->offset_capacity = 4; + label->offset_count = 0; + } else if (label->offset_count >= label->offset_capacity) { + label->offset_capacity *= 2; + label->offsets = (ptrdiff_t*)realloc(label->offsets, + sizeof(ptrdiff_t) * label->offset_capacity); + } + + ptrdiff_t offset = (ptrdiff_t)(assembler->cursor - assembler->buffer); + label->offsets[label->offset_count++] = offset; + return 0; +} + +void la_label_free(lagoon_assembler_t* assembler, lagoon_label_t* label) +{ + if (label->offsets != NULL) { + free(label->offsets); + label->offsets = NULL; + } +} + +void la_load_immediate32(lagoon_assembler_t* assembler, la_gpr_t rd, int32_t val) +{ + if ((val & 0xfff) == val) { + la_ori(assembler, rd, LA_ZERO, val); + } else if (((val << 20) >> 20) == val) { + la_addi_w(assembler, rd, LA_ZERO, val & 0xfff); + } else if ((val & 0xfff) == 0) { + la_lu12i_w(assembler, rd, (val >> 12) & 0xfffff); + } else { + la_lu12i_w(assembler, rd, (val >> 12) & 0xfffff); + la_ori(assembler, rd, rd, val & 0xfff); + } +} + +void la_load_immediate64(lagoon_assembler_t* assembler, la_gpr_t rd, int64_t val) +{ + la_load_immediate32(assembler, rd, val); + if (((val << 32) >> 32) == val) { + return; + } + la_lu32i_d(assembler, rd, (val >> 32) & 0xfffff); + if (((val << 12) >> 12) == val) { + return; + } + la_lu52i_d(assembler, rd, rd, (val >> 52) & 0xfff); +} + +void la_ret(lagoon_assembler_t* assembler) +{ + la_jirl(assembler, LA_ZERO, LA_RA, 0); +} + +// clang-format off +//// ANCHOR: mnemonic function definitions start + +void la_adc_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00300000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_adc_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00318000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_adc_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00308000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_adc_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00310000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_add_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00108000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_add_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00100000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_addi_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x02c00000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_addi_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x02800000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_addu12i_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk5) +{ + emit32(assembler, 0x00298000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_addu12i_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk5) +{ + emit32(assembler, 0x00290000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_addu16i_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk16) +{ + emit32(assembler, 0x10000000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk16 & 0xffff) << 10)); +} + +void la_alsl_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk, uint32_t ua2pp1) +{ + ua2pp1 -= 1; + emit32(assembler, 0x002c0000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10) | ((ua2pp1 & 0x3) << 15)); +} + +void la_alsl_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk, uint32_t ua2pp1) +{ + ua2pp1 -= 1; + emit32(assembler, 0x00040000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10) | ((ua2pp1 & 0x3) << 15)); +} + +void la_alsl_wu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk, uint32_t ua2pp1) +{ + ua2pp1 -= 1; + emit32(assembler, 0x00060000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10) | ((ua2pp1 & 0x3) << 15)); +} + +void la_amadd_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x385d0000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amadd_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x38618000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amadd_db_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x385f0000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amadd_db_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x386a8000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amadd_db_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x385f8000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amadd_db_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x386a0000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amadd_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x385d8000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amadd_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x38610000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amand_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x38628000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amand_db_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x386b8000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amand_db_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x386b0000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amand_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x38620000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amcas_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x38580000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amcas_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x38598000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amcas_db_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x385a0000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amcas_db_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x385b8000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amcas_db_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x385a8000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amcas_db_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x385b0000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amcas_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x38588000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amcas_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x38590000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_ammax_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x38658000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_ammax_db_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x386e8000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_ammax_db_du(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x38708000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_ammax_db_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x386e0000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_ammax_db_wu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x38700000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_ammax_du(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x38678000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_ammax_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x38650000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_ammax_wu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x38670000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_ammin_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x38668000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_ammin_db_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x386f8000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_ammin_db_du(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x38718000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_ammin_db_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x386f0000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_ammin_db_wu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x38710000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_ammin_du(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x38688000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_ammin_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x38660000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_ammin_wu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x38680000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amor_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x38638000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amor_db_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x386c8000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amor_db_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x386c0000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amor_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x38630000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amswap_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x385c0000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amswap_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x38608000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amswap_db_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x385e0000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amswap_db_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x38698000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amswap_db_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x385e8000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amswap_db_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x38690000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amswap_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x385c8000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amswap_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x38600000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amxor_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x38648000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amxor_db_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x386d8000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amxor_db_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x386d0000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_amxor_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x38640000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_and(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00148000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_andi(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk12) +{ + emit32(assembler, 0x03400000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((uk12 & 0xfff) << 10)); +} + +void la_andn(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00168000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_armadc_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk, uint32_t ud4) +{ + emit32(assembler, 0x00380010 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10) | ((ud4 & 0xf) << 0)); +} + +void la_armadd_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk, uint32_t ud4) +{ + emit32(assembler, 0x00370010 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10) | ((ud4 & 0xf) << 0)); +} + +void la_armand_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk, uint32_t ud4) +{ + emit32(assembler, 0x00390010 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10) | ((ud4 & 0xf) << 0)); +} + +void la_armmfflag(lagoon_assembler_t* assembler, la_gpr_t rd, uint32_t uk8) +{ + emit32(assembler, 0x005c0040 | ((rd & 0x1f) << 0) | ((uk8 & 0xff) << 10)); +} + +void la_armmov_d(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk4) +{ + emit32(assembler, 0x003fc01e | ((rj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_armmov_w(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk4) +{ + emit32(assembler, 0x003fc01d | ((rj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_armmove(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk4) +{ + emit32(assembler, 0x00364000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_armmtflag(lagoon_assembler_t* assembler, la_gpr_t rd, uint32_t uk8) +{ + emit32(assembler, 0x005c0060 | ((rd & 0x1f) << 0) | ((uk8 & 0xff) << 10)); +} + +void la_armnot_w(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk4) +{ + emit32(assembler, 0x003fc01c | ((rj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_armor_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk, uint32_t ud4) +{ + emit32(assembler, 0x00398010 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10) | ((ud4 & 0xf) << 0)); +} + +void la_armrotr_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk, uint32_t ud4) +{ + emit32(assembler, 0x003c0010 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10) | ((ud4 & 0xf) << 0)); +} + +void la_armrotri_w(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk5, uint32_t ud4) +{ + emit32(assembler, 0x003e0010 | ((rj & 0x1f) << 5) | ((uk5 & 0x1f) << 10) | ((ud4 & 0xf) << 0)); +} + +void la_armrrx_w(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk4) +{ + emit32(assembler, 0x003fc01f | ((rj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_armsbc_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk, uint32_t ud4) +{ + emit32(assembler, 0x00388010 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10) | ((ud4 & 0xf) << 0)); +} + +void la_armsll_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk, uint32_t ud4) +{ + emit32(assembler, 0x003a8010 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10) | ((ud4 & 0xf) << 0)); +} + +void la_armslli_w(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk5, uint32_t ud4) +{ + emit32(assembler, 0x003c8010 | ((rj & 0x1f) << 5) | ((uk5 & 0x1f) << 10) | ((ud4 & 0xf) << 0)); +} + +void la_armsra_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk, uint32_t ud4) +{ + emit32(assembler, 0x003b8010 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10) | ((ud4 & 0xf) << 0)); +} + +void la_armsrai_w(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk5, uint32_t ud4) +{ + emit32(assembler, 0x003d8010 | ((rj & 0x1f) << 5) | ((uk5 & 0x1f) << 10) | ((ud4 & 0xf) << 0)); +} + +void la_armsrl_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk, uint32_t ud4) +{ + emit32(assembler, 0x003b0010 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10) | ((ud4 & 0xf) << 0)); +} + +void la_armsrli_w(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk5, uint32_t ud4) +{ + emit32(assembler, 0x003d0010 | ((rj & 0x1f) << 5) | ((uk5 & 0x1f) << 10) | ((ud4 & 0xf) << 0)); +} + +void la_armsub_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk, uint32_t ud4) +{ + emit32(assembler, 0x00378010 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10) | ((ud4 & 0xf) << 0)); +} + +void la_armxor_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk, uint32_t ud4) +{ + emit32(assembler, 0x003a0010 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10) | ((ud4 & 0xf) << 0)); +} + +void la_asrtgt_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00018000 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_asrtle_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00010000 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_b(lagoon_assembler_t* assembler, int32_t sd10k16ps2) +{ + sd10k16ps2 >>= 2; + emit32(assembler, 0x50000000 | (((sd10k16ps2 >> 16) & 0x3ff) << 0) | ((sd10k16ps2 & 0xffff) << 10)); +} + +void la_bceqz(lagoon_assembler_t* assembler, la_fcc_t cj, int32_t sd5k16ps2) +{ + sd5k16ps2 >>= 2; + emit32(assembler, 0x48000000 | ((cj & 0x7) << 5) | (((sd5k16ps2 >> 16) & 0x1f) << 0) | ((sd5k16ps2 & 0xffff) << 10)); +} + +void la_bcnez(lagoon_assembler_t* assembler, la_fcc_t cj, int32_t sd5k16ps2) +{ + sd5k16ps2 >>= 2; + emit32(assembler, 0x48000100 | ((cj & 0x7) << 5) | (((sd5k16ps2 >> 16) & 0x1f) << 0) | ((sd5k16ps2 & 0xffff) << 10)); +} + +void la_beq(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rd, int32_t sk16ps2) +{ + sk16ps2 >>= 2; + emit32(assembler, 0x58000000 | ((rj & 0x1f) << 5) | ((rd & 0x1f) << 0) | ((sk16ps2 & 0xffff) << 10)); +} + +void la_beqz(lagoon_assembler_t* assembler, la_gpr_t rj, int32_t sd5k16ps2) +{ + sd5k16ps2 >>= 2; + emit32(assembler, 0x40000000 | ((rj & 0x1f) << 5) | (((sd5k16ps2 >> 16) & 0x1f) << 0) | ((sd5k16ps2 & 0xffff) << 10)); +} + +void la_bge(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rd, int32_t sk16ps2) +{ + sk16ps2 >>= 2; + emit32(assembler, 0x64000000 | ((rj & 0x1f) << 5) | ((rd & 0x1f) << 0) | ((sk16ps2 & 0xffff) << 10)); +} + +void la_bgeu(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rd, int32_t sk16ps2) +{ + sk16ps2 >>= 2; + emit32(assembler, 0x6c000000 | ((rj & 0x1f) << 5) | ((rd & 0x1f) << 0) | ((sk16ps2 & 0xffff) << 10)); +} + +void la_bitrev_4b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x00004800 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_bitrev_8b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x00004c00 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_bitrev_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x00005400 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_bitrev_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x00005000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_bl(lagoon_assembler_t* assembler, int32_t sd10k16ps2) +{ + sd10k16ps2 >>= 2; + emit32(assembler, 0x54000000 | (((sd10k16ps2 >> 16) & 0x3ff) << 0) | ((sd10k16ps2 & 0xffff) << 10)); +} + +void la_blt(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rd, int32_t sk16ps2) +{ + sk16ps2 >>= 2; + emit32(assembler, 0x60000000 | ((rj & 0x1f) << 5) | ((rd & 0x1f) << 0) | ((sk16ps2 & 0xffff) << 10)); +} + +void la_bltu(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rd, int32_t sk16ps2) +{ + sk16ps2 >>= 2; + emit32(assembler, 0x68000000 | ((rj & 0x1f) << 5) | ((rd & 0x1f) << 0) | ((sk16ps2 & 0xffff) << 10)); +} + +void la_bne(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rd, int32_t sk16ps2) +{ + sk16ps2 >>= 2; + emit32(assembler, 0x5c000000 | ((rj & 0x1f) << 5) | ((rd & 0x1f) << 0) | ((sk16ps2 & 0xffff) << 10)); +} + +void la_bnez(lagoon_assembler_t* assembler, la_gpr_t rj, int32_t sd5k16ps2) +{ + sd5k16ps2 >>= 2; + emit32(assembler, 0x44000000 | ((rj & 0x1f) << 5) | (((sd5k16ps2 >> 16) & 0x1f) << 0) | ((sd5k16ps2 & 0xffff) << 10)); +} + +void la_break(lagoon_assembler_t* assembler, uint32_t ud15) +{ + emit32(assembler, 0x002a0000 | ((ud15 & 0x7fff) << 0)); +} + +void la_bstrins_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t um6, uint32_t uk6) +{ + emit32(assembler, 0x00800000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((um6 & 0x3f) << 16) | ((uk6 & 0x3f) << 10)); +} + +void la_bstrins_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t um5, uint32_t uk5) +{ + emit32(assembler, 0x00600000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((um5 & 0x1f) << 16) | ((uk5 & 0x1f) << 10)); +} + +void la_bstrpick_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t um6, uint32_t uk6) +{ + emit32(assembler, 0x00c00000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((um6 & 0x3f) << 16) | ((uk6 & 0x3f) << 10)); +} + +void la_bstrpick_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t um5, uint32_t uk5) +{ + emit32(assembler, 0x00608000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((um5 & 0x1f) << 16) | ((uk5 & 0x1f) << 10)); +} + +void la_bytepick_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk, uint32_t ua3) +{ + emit32(assembler, 0x000c0000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10) | ((ua3 & 0x7) << 15)); +} + +void la_bytepick_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk, uint32_t ua2) +{ + emit32(assembler, 0x00080000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10) | ((ua2 & 0x3) << 15)); +} + +void la_cacop(lagoon_assembler_t* assembler, uint32_t ud5, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x06000000 | ((ud5 & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_clo_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x00002000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_clo_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x00001000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_clz_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x00002400 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_clz_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x00001400 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_cpucfg(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x00006c00 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_crc_w_b_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00240000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_crc_w_d_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00258000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_crc_w_h_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00248000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_crc_w_w_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00250000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_crcc_w_b_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00260000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_crcc_w_d_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00278000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_crcc_w_h_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00268000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_crcc_w_w_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00270000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_csrxchg(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk14) +{ + emit32(assembler, 0x04000000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((uk14 & 0x3fff) << 10)); +} + +void la_cto_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x00002800 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_cto_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x00001800 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_ctz_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x00002c00 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_ctz_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x00001c00 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_dbar(lagoon_assembler_t* assembler, uint32_t ud15) +{ + emit32(assembler, 0x38720000 | ((ud15 & 0x7fff) << 0)); +} + +void la_dbcl(lagoon_assembler_t* assembler, uint32_t ud15) +{ + emit32(assembler, 0x002a8000 | ((ud15 & 0x7fff) << 0)); +} + +void la_div_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00220000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_div_du(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00230000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_div_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00200000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_div_wu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00210000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_ertn(lagoon_assembler_t* assembler) +{ + emit32(assembler, 0x06483800); +} + +void la_ext_w_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x00005c00 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_ext_w_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x00005800 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_fabs_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x01140800 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_fabs_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x01140400 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_fadd_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x01010000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fadd_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x01008000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fclass_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x01143800 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_fclass_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x01143400 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_fcmp_caf_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c200000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_caf_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c100000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_ceq_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c220000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_ceq_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c120000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_cle_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c230000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_cle_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c130000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_clt_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c210000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_clt_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c110000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_cne_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c280000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_cne_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c180000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_cor_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c2a0000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_cor_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c1a0000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_cueq_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c260000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_cueq_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c160000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_cule_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c270000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_cule_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c170000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_cult_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c250000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_cult_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c150000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_cun_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c240000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_cun_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c140000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_cune_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c2c0000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_cune_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c1c0000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_saf_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c208000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_saf_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c108000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_seq_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c228000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_seq_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c128000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_sle_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c238000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_sle_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c138000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_slt_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c218000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_slt_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c118000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_sne_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c288000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_sne_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c188000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_sor_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c2a8000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_sor_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c1a8000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_sueq_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c268000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_sueq_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c168000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_sule_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c278000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_sule_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c178000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_sult_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c258000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_sult_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c158000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_sun_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c248000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_sun_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c148000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_sune_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c2c8000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcmp_sune_s(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x0c1c8000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcopysign_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x01130000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcopysign_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x01128000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcvt_d_ld(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x01150000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fcvt_d_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x01192400 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_fcvt_ld_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x0114e000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_fcvt_s_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x01191800 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_fcvt_ud_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x0114e400 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_fdiv_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x01070000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fdiv_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x01068000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_ffint_d_l(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x011d2800 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_ffint_d_w(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x011d2000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_ffint_s_l(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x011d1800 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_ffint_s_w(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x011d1000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_fld_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x2b800000 | ((fd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_fld_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x2b000000 | ((fd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_fldgt_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x38748000 | ((fd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_fldgt_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x38740000 | ((fd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_fldle_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x38758000 | ((fd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_fldle_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x38750000 | ((fd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_fldx_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x38340000 | ((fd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_fldx_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x38300000 | ((fd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_flogb_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x01142800 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_flogb_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x01142400 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_fmadd_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk, la_fpr_t fa) +{ + emit32(assembler, 0x08200000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10) | ((fa & 0x1f) << 15)); +} + +void la_fmadd_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk, la_fpr_t fa) +{ + emit32(assembler, 0x08100000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10) | ((fa & 0x1f) << 15)); +} + +void la_fmax_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x01090000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fmax_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x01088000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fmaxa_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x010d0000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fmaxa_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x010c8000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fmin_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x010b0000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fmin_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x010a8000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fmina_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x010f0000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fmina_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x010e8000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fmov_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x01149800 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_fmov_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x01149400 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_fmsub_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk, la_fpr_t fa) +{ + emit32(assembler, 0x08600000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10) | ((fa & 0x1f) << 15)); +} + +void la_fmsub_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk, la_fpr_t fa) +{ + emit32(assembler, 0x08500000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10) | ((fa & 0x1f) << 15)); +} + +void la_fmul_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x01050000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fmul_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x01048000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fneg_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x01141800 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_fneg_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x01141400 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_fnmadd_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk, la_fpr_t fa) +{ + emit32(assembler, 0x08a00000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10) | ((fa & 0x1f) << 15)); +} + +void la_fnmadd_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk, la_fpr_t fa) +{ + emit32(assembler, 0x08900000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10) | ((fa & 0x1f) << 15)); +} + +void la_fnmsub_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk, la_fpr_t fa) +{ + emit32(assembler, 0x08e00000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10) | ((fa & 0x1f) << 15)); +} + +void la_fnmsub_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk, la_fpr_t fa) +{ + emit32(assembler, 0x08d00000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10) | ((fa & 0x1f) << 15)); +} + +void la_frecip_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x01145800 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_frecip_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x01145400 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_frecipe_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x01147800 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_frecipe_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x01147400 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_frint_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x011e4800 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_frint_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x011e4400 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_frsqrt_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x01146800 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_frsqrt_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x01146400 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_frsqrte_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x01148800 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_frsqrte_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x01148400 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_fscaleb_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x01110000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fscaleb_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x01108000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fsel(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk, la_fcc_t ca) +{ + emit32(assembler, 0x0d000000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10) | ((ca & 0x7) << 15)); +} + +void la_fsqrt_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x01144800 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_fsqrt_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x01144400 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_fst_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x2bc00000 | ((fd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_fst_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x2b400000 | ((fd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_fstgt_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x38768000 | ((fd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_fstgt_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x38760000 | ((fd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_fstle_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x38778000 | ((fd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_fstle_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x38770000 | ((fd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_fstx_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x383c0000 | ((fd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_fstx_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x38380000 | ((fd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_fsub_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x01030000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_fsub_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj, la_fpr_t fk) +{ + emit32(assembler, 0x01028000 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5) | ((fk & 0x1f) << 10)); +} + +void la_ftint_l_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x011b2800 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_ftint_l_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x011b2400 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_ftint_w_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x011b0800 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_ftint_w_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x011b0400 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_ftintrm_l_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x011a2800 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_ftintrm_l_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x011a2400 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_ftintrm_w_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x011a0800 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_ftintrm_w_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x011a0400 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_ftintrne_l_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x011ae800 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_ftintrne_l_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x011ae400 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_ftintrne_w_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x011ac800 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_ftintrne_w_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x011ac400 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_ftintrp_l_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x011a6800 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_ftintrp_l_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x011a6400 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_ftintrp_w_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x011a4800 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_ftintrp_w_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x011a4400 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_ftintrz_l_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x011aa800 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_ftintrz_l_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x011aa400 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_ftintrz_w_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x011a8800 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_ftintrz_w_s(lagoon_assembler_t* assembler, la_fpr_t fd, la_fpr_t fj) +{ + emit32(assembler, 0x011a8400 | ((fd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_gcsrxchg(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk14) +{ + emit32(assembler, 0x05000000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((uk14 & 0x3fff) << 10)); +} + +void la_gtlbclr(lagoon_assembler_t* assembler) +{ + emit32(assembler, 0x06482001); +} + +void la_gtlbfill(lagoon_assembler_t* assembler) +{ + emit32(assembler, 0x06483401); +} + +void la_gtlbflush(lagoon_assembler_t* assembler) +{ + emit32(assembler, 0x06482401); +} + +void la_gtlbrd(lagoon_assembler_t* assembler) +{ + emit32(assembler, 0x06482c01); +} + +void la_gtlbsrch(lagoon_assembler_t* assembler) +{ + emit32(assembler, 0x06482801); +} + +void la_gtlbwr(lagoon_assembler_t* assembler) +{ + emit32(assembler, 0x06483001); +} + +void la_hvcl(lagoon_assembler_t* assembler, uint32_t ud15) +{ + emit32(assembler, 0x002b8000 | ((ud15 & 0x7fff) << 0)); +} + +void la_ibar(lagoon_assembler_t* assembler, uint32_t ud15) +{ + emit32(assembler, 0x38728000 | ((ud15 & 0x7fff) << 0)); +} + +void la_idle(lagoon_assembler_t* assembler, uint32_t ud15) +{ + emit32(assembler, 0x06488000 | ((ud15 & 0x7fff) << 0)); +} + +void la_invtlb(lagoon_assembler_t* assembler, uint32_t ud5, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x06498000 | ((ud5 & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_iocsrrd_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x06480000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_iocsrrd_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x06480c00 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_iocsrrd_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x06480400 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_iocsrrd_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x06480800 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_iocsrwr_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x06481000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_iocsrwr_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x06481c00 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_iocsrwr_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x06481400 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_iocsrwr_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x06481800 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_jirl(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk16ps2) +{ + sk16ps2 >>= 2; + emit32(assembler, 0x4c000000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk16ps2 & 0xffff) << 10)); +} + +void la_jiscr0(lagoon_assembler_t* assembler, int32_t sd5k16ps2) +{ + sd5k16ps2 >>= 2; + emit32(assembler, 0x48000200 | (((sd5k16ps2 >> 16) & 0x1f) << 0) | ((sd5k16ps2 & 0xffff) << 10)); +} + +void la_jiscr1(lagoon_assembler_t* assembler, int32_t sd5k16ps2) +{ + sd5k16ps2 >>= 2; + emit32(assembler, 0x48000300 | (((sd5k16ps2 >> 16) & 0x1f) << 0) | ((sd5k16ps2 & 0xffff) << 10)); +} + +void la_ld_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x28000000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_ld_bu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x2a000000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_ld_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x28c00000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_ld_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x28400000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_ld_hu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x2a400000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_ld_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x28800000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_ld_wu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x2a800000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_lddir(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk8) +{ + emit32(assembler, 0x06400000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_ldgt_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x38780000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_ldgt_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x38798000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_ldgt_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x38788000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_ldgt_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x38790000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_ldl_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x2e800000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_ldl_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x2e000000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_ldle_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x387a0000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_ldle_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x387b8000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_ldle_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x387a8000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_ldle_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x387b0000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_ldpte(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk8) +{ + emit32(assembler, 0x06440000 | ((rj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_ldptr_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk14ps2) +{ + sk14ps2 >>= 2; + emit32(assembler, 0x26000000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk14ps2 & 0x3fff) << 10)); +} + +void la_ldptr_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk14ps2) +{ + sk14ps2 >>= 2; + emit32(assembler, 0x24000000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk14ps2 & 0x3fff) << 10)); +} + +void la_ldr_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x2ec00000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_ldr_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x2e400000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_ldx_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x38000000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_ldx_bu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x38200000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_ldx_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x380c0000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_ldx_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x38040000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_ldx_hu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x38240000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_ldx_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x38080000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_ldx_wu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x38280000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_ll_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk14ps2) +{ + sk14ps2 >>= 2; + emit32(assembler, 0x22000000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk14ps2 & 0x3fff) << 10)); +} + +void la_ll_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk14ps2) +{ + sk14ps2 >>= 2; + emit32(assembler, 0x20000000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk14ps2 & 0x3fff) << 10)); +} + +void la_llacq_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x38578800 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_llacq_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x38578000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_lu12i_w(lagoon_assembler_t* assembler, la_gpr_t rd, int32_t sj20) +{ + emit32(assembler, 0x14000000 | ((rd & 0x1f) << 0) | ((sj20 & 0xfffff) << 5)); +} + +void la_lu32i_d(lagoon_assembler_t* assembler, la_gpr_t rd, int32_t sj20) +{ + emit32(assembler, 0x16000000 | ((rd & 0x1f) << 0) | ((sj20 & 0xfffff) << 5)); +} + +void la_lu52i_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x03000000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_maskeqz(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00130000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_masknez(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00138000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_mod_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00228000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_mod_du(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00238000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_mod_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00208000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_mod_wu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00218000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_movcf2fr(lagoon_assembler_t* assembler, la_fpr_t fd, la_fcc_t cj) +{ + emit32(assembler, 0x0114d400 | ((fd & 0x1f) << 0) | ((cj & 0x7) << 5)); +} + +void la_movcf2gr(lagoon_assembler_t* assembler, la_gpr_t rd, la_fcc_t cj) +{ + emit32(assembler, 0x0114dc00 | ((rd & 0x1f) << 0) | ((cj & 0x7) << 5)); +} + +void la_movfcsr2gr(lagoon_assembler_t* assembler, la_gpr_t rd, la_fcsr_t rj) +{ + emit32(assembler, 0x0114c800 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_movfr2cf(lagoon_assembler_t* assembler, la_fcc_t cd, la_fpr_t fj) +{ + emit32(assembler, 0x0114d000 | ((cd & 0x7) << 0) | ((fj & 0x1f) << 5)); +} + +void la_movfr2gr_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_fpr_t fj) +{ + emit32(assembler, 0x0114b800 | ((rd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_movfr2gr_s(lagoon_assembler_t* assembler, la_gpr_t rd, la_fpr_t fj) +{ + emit32(assembler, 0x0114b400 | ((rd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_movfrh2gr_s(lagoon_assembler_t* assembler, la_gpr_t rd, la_fpr_t fj) +{ + emit32(assembler, 0x0114bc00 | ((rd & 0x1f) << 0) | ((fj & 0x1f) << 5)); +} + +void la_movgr2cf(lagoon_assembler_t* assembler, la_fcc_t cd, la_gpr_t rj) +{ + emit32(assembler, 0x0114d800 | ((cd & 0x7) << 0) | ((rj & 0x1f) << 5)); +} + +void la_movgr2fcsr(lagoon_assembler_t* assembler, la_fcsr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x0114c000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_movgr2fr_d(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj) +{ + emit32(assembler, 0x0114a800 | ((fd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_movgr2fr_w(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj) +{ + emit32(assembler, 0x0114a400 | ((fd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_movgr2frh_w(lagoon_assembler_t* assembler, la_fpr_t fd, la_gpr_t rj) +{ + emit32(assembler, 0x0114ac00 | ((fd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_movgr2scr(lagoon_assembler_t* assembler, la_scr_t td, la_gpr_t rj) +{ + emit32(assembler, 0x00000800 | ((td & 0x3) << 0) | ((rj & 0x1f) << 5)); +} + +void la_movscr2gr(lagoon_assembler_t* assembler, la_gpr_t rd, la_scr_t tj) +{ + emit32(assembler, 0x00000c00 | ((rd & 0x1f) << 0) | ((tj & 0x3) << 5)); +} + +void la_mul_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x001d8000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_mul_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x001c0000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_mulh_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x001e0000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_mulh_du(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x001e8000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_mulh_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x001c8000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_mulh_wu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x001d0000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_mulw_d_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x001f0000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_mulw_d_wu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x001f8000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_nor(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00140000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_or(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00150000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_ori(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk12) +{ + emit32(assembler, 0x03800000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((uk12 & 0xfff) << 10)); +} + +void la_orn(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00160000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_pcaddi(lagoon_assembler_t* assembler, la_gpr_t rd, int32_t sj20) +{ + emit32(assembler, 0x18000000 | ((rd & 0x1f) << 0) | ((sj20 & 0xfffff) << 5)); +} + +void la_pcaddu12i(lagoon_assembler_t* assembler, la_gpr_t rd, int32_t sj20) +{ + emit32(assembler, 0x1c000000 | ((rd & 0x1f) << 0) | ((sj20 & 0xfffff) << 5)); +} + +void la_pcaddu18i(lagoon_assembler_t* assembler, la_gpr_t rd, int32_t sj20) +{ + emit32(assembler, 0x1e000000 | ((rd & 0x1f) << 0) | ((sj20 & 0xfffff) << 5)); +} + +void la_pcalau12i(lagoon_assembler_t* assembler, la_gpr_t rd, int32_t sj20) +{ + emit32(assembler, 0x1a000000 | ((rd & 0x1f) << 0) | ((sj20 & 0xfffff) << 5)); +} + +void la_preld(lagoon_assembler_t* assembler, uint32_t ud5, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x2ac00000 | ((ud5 & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_preldx(lagoon_assembler_t* assembler, uint32_t ud5, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x382c0000 | ((ud5 & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_rcr_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00340000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_rcr_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00358000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_rcr_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00348000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_rcr_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00350000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_rcri_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk3) +{ + emit32(assembler, 0x00502000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_rcri_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk6) +{ + emit32(assembler, 0x00510000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_rcri_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk4) +{ + emit32(assembler, 0x00504000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_rcri_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk5) +{ + emit32(assembler, 0x00508000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_rdtime_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x00006800 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_rdtimeh_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x00006400 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_rdtimel_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x00006000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_revb_2h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x00003000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_revb_2w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x00003800 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_revb_4h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x00003400 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_revb_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x00003c00 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_revh_2w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x00004000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_revh_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x00004400 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_rotr_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x001a0000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_rotr_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x001b8000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_rotr_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x001a8000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_rotr_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x001b0000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_rotri_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk3) +{ + emit32(assembler, 0x004c2000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_rotri_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk6) +{ + emit32(assembler, 0x004d0000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_rotri_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk4) +{ + emit32(assembler, 0x004c4000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_rotri_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk5) +{ + emit32(assembler, 0x004c8000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_sbc_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00320000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_sbc_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00338000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_sbc_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00328000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_sbc_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00330000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_sc_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk14ps2) +{ + sk14ps2 >>= 2; + emit32(assembler, 0x23000000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk14ps2 & 0x3fff) << 10)); +} + +void la_sc_q(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rk, la_gpr_t rj) +{ + emit32(assembler, 0x38570000 | ((rd & 0x1f) << 0) | ((rk & 0x1f) << 10) | ((rj & 0x1f) << 5)); +} + +void la_sc_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk14ps2) +{ + sk14ps2 >>= 2; + emit32(assembler, 0x21000000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk14ps2 & 0x3fff) << 10)); +} + +void la_screl_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x38578c00 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_screl_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x38578400 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_setarmj(lagoon_assembler_t* assembler, la_gpr_t rd, uint32_t uk4) +{ + emit32(assembler, 0x0036c000 | ((rd & 0x1f) << 0) | ((uk4 & 0xf) << 10)); +} + +void la_setx86j(lagoon_assembler_t* assembler, la_gpr_t rd, uint32_t uk4) +{ + emit32(assembler, 0x00368000 | ((rd & 0x1f) << 0) | ((uk4 & 0xf) << 10)); +} + +void la_setx86loope(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x00007800 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_setx86loopne(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj) +{ + emit32(assembler, 0x00007c00 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_sll_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00188000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_sll_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00170000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_slli_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk6) +{ + emit32(assembler, 0x00410000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_slli_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk5) +{ + emit32(assembler, 0x00408000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_slt(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00120000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_slti(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x02000000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_sltu(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00128000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_sltui(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x02400000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_sra_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00198000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_sra_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00180000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_srai_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk6) +{ + emit32(assembler, 0x00490000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_srai_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk5) +{ + emit32(assembler, 0x00488000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_srl_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00190000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_srl_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00178000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_srli_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk6) +{ + emit32(assembler, 0x00450000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_srli_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk5) +{ + emit32(assembler, 0x00448000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_st_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x29000000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_st_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x29c00000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_st_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x29400000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_st_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x29800000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_stgt_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x387c0000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_stgt_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x387d8000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_stgt_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x387c8000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_stgt_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x387d0000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_stl_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x2f800000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_stl_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x2f000000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_stle_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x387e0000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_stle_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x387f8000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_stle_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x387e8000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_stle_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x387f0000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_stptr_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk14ps2) +{ + sk14ps2 >>= 2; + emit32(assembler, 0x27000000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk14ps2 & 0x3fff) << 10)); +} + +void la_stptr_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk14ps2) +{ + sk14ps2 >>= 2; + emit32(assembler, 0x25000000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk14ps2 & 0x3fff) << 10)); +} + +void la_str_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x2fc00000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_str_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x2f400000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_stx_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x38100000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_stx_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x381c0000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_stx_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x38140000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_stx_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x38180000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_sub_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00118000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_sub_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00110000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_syscall(lagoon_assembler_t* assembler, uint32_t ud15) +{ + emit32(assembler, 0x002b0000 | ((ud15 & 0x7fff) << 0)); +} + +void la_tlbclr(lagoon_assembler_t* assembler) +{ + emit32(assembler, 0x06482000); +} + +void la_tlbfill(lagoon_assembler_t* assembler) +{ + emit32(assembler, 0x06483400); +} + +void la_tlbflush(lagoon_assembler_t* assembler) +{ + emit32(assembler, 0x06482400); +} + +void la_tlbrd(lagoon_assembler_t* assembler) +{ + emit32(assembler, 0x06482c00); +} + +void la_tlbsrch(lagoon_assembler_t* assembler) +{ + emit32(assembler, 0x06482800); +} + +void la_tlbwr(lagoon_assembler_t* assembler) +{ + emit32(assembler, 0x06483000); +} + +void la_vabsd_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70600000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vabsd_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70620000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vabsd_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70618000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vabsd_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70638000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vabsd_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70608000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vabsd_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70628000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vabsd_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70610000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vabsd_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70630000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vadd_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x700a0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vadd_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x700b8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vadd_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x700a8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vadd_q(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x712d0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vadd_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x700b0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vadda_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x705c0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vadda_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x705d8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vadda_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x705c8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vadda_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x705d0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vaddi_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x728a0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vaddi_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x728b8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vaddi_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x728a8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vaddi_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x728b0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vaddwev_d_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x701f0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vaddwev_d_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x702f0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vaddwev_d_wu_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x703f0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vaddwev_h_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x701e0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vaddwev_h_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x702e0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vaddwev_h_bu_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x703e0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vaddwev_q_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x701f8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vaddwev_q_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x702f8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vaddwev_q_du_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x703f8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vaddwev_w_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x701e8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vaddwev_w_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x702e8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vaddwev_w_hu_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x703e8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vaddwod_d_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70230000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vaddwod_d_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70330000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vaddwod_d_wu_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70410000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vaddwod_h_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70220000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vaddwod_h_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70320000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vaddwod_h_bu_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70400000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vaddwod_q_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70238000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vaddwod_q_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70338000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vaddwod_q_du_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70418000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vaddwod_w_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70228000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vaddwod_w_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70328000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vaddwod_w_hu_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70408000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vand_v(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71260000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vandi_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk8) +{ + emit32(assembler, 0x73d00000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_vandn_v(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71280000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vavg_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70640000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vavg_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70660000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vavg_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70658000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vavg_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70678000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vavg_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70648000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vavg_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70668000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vavg_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70650000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vavg_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70670000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vavgr_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70680000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vavgr_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x706a0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vavgr_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70698000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vavgr_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x706b8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vavgr_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70688000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vavgr_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x706a8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vavgr_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70690000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vavgr_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x706b0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vbitclr_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x710c0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vbitclr_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x710d8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vbitclr_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x710c8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vbitclr_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x710d0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vbitclri_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk3) +{ + emit32(assembler, 0x73102000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_vbitclri_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6) +{ + emit32(assembler, 0x73110000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_vbitclri_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4) +{ + emit32(assembler, 0x73104000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_vbitclri_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x73108000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vbitrev_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71100000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vbitrev_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71118000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vbitrev_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71108000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vbitrev_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71110000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vbitrevi_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk3) +{ + emit32(assembler, 0x73182000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_vbitrevi_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6) +{ + emit32(assembler, 0x73190000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_vbitrevi_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4) +{ + emit32(assembler, 0x73184000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_vbitrevi_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x73188000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vbitsel_v(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk, la_vpr_t va) +{ + emit32(assembler, 0x0d100000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10) | ((va & 0x1f) << 15)); +} + +void la_vbitseli_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk8) +{ + emit32(assembler, 0x73c40000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_vbitset_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x710e0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vbitset_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x710f8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vbitset_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x710e8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vbitset_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x710f0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vbitseti_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk3) +{ + emit32(assembler, 0x73142000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_vbitseti_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6) +{ + emit32(assembler, 0x73150000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_vbitseti_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4) +{ + emit32(assembler, 0x73144000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_vbitseti_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x73148000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vbsll_v(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x728e0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vbsrl_v(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x728e8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vclo_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729c0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vclo_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729c0c00 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vclo_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729c0400 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vclo_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729c0800 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vclz_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729c1000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vclz_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729c1c00 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vclz_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729c1400 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vclz_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729c1800 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vdiv_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70e00000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vdiv_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70e40000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vdiv_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70e18000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vdiv_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70e58000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vdiv_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70e08000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vdiv_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70e48000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vdiv_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70e10000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vdiv_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70e50000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vext2xv_d_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769f1800 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_vext2xv_d_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769f2000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_vext2xv_d_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769f2400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_vext2xv_du_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769f3000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_vext2xv_du_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769f3800 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_vext2xv_du_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769f3c00 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_vext2xv_h_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769f1000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_vext2xv_hu_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769f2800 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_vext2xv_w_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769f1400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_vext2xv_w_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769f1c00 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_vext2xv_wu_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769f2c00 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_vext2xv_wu_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769f3400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_vexth_d_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729ee800 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vexth_du_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729ef800 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vexth_h_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729ee000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vexth_hu_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729ef000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vexth_q_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729eec00 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vexth_qu_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729efc00 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vexth_w_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729ee400 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vexth_wu_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729ef400 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vextl_q_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x73090000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vextl_qu_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x730d0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vextrins_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk8) +{ + emit32(assembler, 0x738c0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_vextrins_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk8) +{ + emit32(assembler, 0x73800000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_vextrins_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk8) +{ + emit32(assembler, 0x73880000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_vextrins_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk8) +{ + emit32(assembler, 0x73840000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_vfadd_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71310000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfadd_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71308000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfclass_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729cd800 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vfclass_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729cd400 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vfcmp_caf_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c600000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_caf_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c500000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_ceq_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c620000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_ceq_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c520000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_cle_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c630000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_cle_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c530000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_clt_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c610000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_clt_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c510000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_cne_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c680000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_cne_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c580000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_cor_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c6a0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_cor_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c5a0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_cueq_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c660000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_cueq_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c560000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_cule_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c670000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_cule_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c570000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_cult_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c650000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_cult_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c550000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_cun_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c640000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_cun_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c540000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_cune_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c6c0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_cune_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c5c0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_saf_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c608000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_saf_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c508000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_seq_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c628000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_seq_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c528000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_sle_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c638000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_sle_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c538000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_slt_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c618000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_slt_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c518000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_sne_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c688000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_sne_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c588000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_sor_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c6a8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_sor_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c5a8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_sueq_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c668000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_sueq_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c568000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_sule_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c678000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_sule_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c578000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_sult_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c658000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_sult_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c558000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_sun_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c648000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_sun_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c548000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_sune_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c6c8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcmp_sune_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x0c5c8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcvt_h_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71460000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcvt_s_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71468000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfcvth_d_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729df400 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vfcvth_s_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729dec00 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vfcvtl_d_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729df000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vfcvtl_s_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729de800 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vfdiv_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x713b0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfdiv_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x713a8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vffint_d_l(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729e0800 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vffint_d_lu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729e0c00 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vffint_s_l(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71480000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vffint_s_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729e0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vffint_s_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729e0400 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vffinth_d_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729e1400 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vffintl_d_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729e1000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vflogb_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729cc800 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vflogb_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729cc400 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vfmadd_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk, la_vpr_t va) +{ + emit32(assembler, 0x09200000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10) | ((va & 0x1f) << 15)); +} + +void la_vfmadd_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk, la_vpr_t va) +{ + emit32(assembler, 0x09100000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10) | ((va & 0x1f) << 15)); +} + +void la_vfmax_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x713d0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfmax_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x713c8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfmaxa_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71410000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfmaxa_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71408000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfmin_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x713f0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfmin_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x713e8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfmina_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71430000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfmina_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71428000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfmsub_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk, la_vpr_t va) +{ + emit32(assembler, 0x09600000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10) | ((va & 0x1f) << 15)); +} + +void la_vfmsub_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk, la_vpr_t va) +{ + emit32(assembler, 0x09500000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10) | ((va & 0x1f) << 15)); +} + +void la_vfmul_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71390000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfmul_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71388000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfnmadd_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk, la_vpr_t va) +{ + emit32(assembler, 0x09a00000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10) | ((va & 0x1f) << 15)); +} + +void la_vfnmadd_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk, la_vpr_t va) +{ + emit32(assembler, 0x09900000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10) | ((va & 0x1f) << 15)); +} + +void la_vfnmsub_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk, la_vpr_t va) +{ + emit32(assembler, 0x09e00000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10) | ((va & 0x1f) << 15)); +} + +void la_vfnmsub_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk, la_vpr_t va) +{ + emit32(assembler, 0x09d00000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10) | ((va & 0x1f) << 15)); +} + +void la_vfrecip_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729cf800 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vfrecip_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729cf400 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vfrecipe_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729d1800 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vfrecipe_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729d1400 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vfrint_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729d3800 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vfrint_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729d3400 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vfrintrm_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729d4800 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vfrintrm_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729d4400 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vfrintrne_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729d7800 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vfrintrne_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729d7400 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vfrintrp_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729d5800 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vfrintrp_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729d5400 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vfrintrz_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729d6800 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vfrintrz_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729d6400 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vfrsqrt_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729d0800 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vfrsqrt_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729d0400 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vfrsqrte_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729d2800 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vfrsqrte_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729d2400 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vfrstp_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x712b0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfrstp_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x712b8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfrstpi_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x729a0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vfrstpi_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x729a8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vfsqrt_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729ce800 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vfsqrt_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729ce400 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vfsub_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71330000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vfsub_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71328000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vftint_l_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729e3400 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vftint_lu_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729e5c00 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vftint_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71498000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vftint_w_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729e3000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vftint_wu_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729e5800 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vftinth_l_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729e8400 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vftintl_l_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729e8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vftintrm_l_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729e3c00 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vftintrm_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x714a0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vftintrm_w_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729e3800 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vftintrmh_l_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729e8c00 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vftintrml_l_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729e8800 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vftintrne_l_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729e5400 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vftintrne_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x714b8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vftintrne_w_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729e5000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vftintrneh_l_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729ea400 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vftintrnel_l_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729ea000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vftintrp_l_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729e4400 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vftintrp_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x714a8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vftintrp_w_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729e4000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vftintrph_l_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729e9400 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vftintrpl_l_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729e9000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vftintrz_l_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729e4c00 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vftintrz_lu_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729e7400 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vftintrz_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x714b0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vftintrz_w_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729e4800 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vftintrz_wu_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729e7000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vftintrzh_l_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729e9c00 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vftintrzl_l_s(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729e9800 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vhaddw_d_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70550000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vhaddw_du_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70590000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vhaddw_h_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70540000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vhaddw_hu_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70580000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vhaddw_q_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70558000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vhaddw_qu_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70598000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vhaddw_w_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70548000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vhaddw_wu_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70588000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vhsubw_d_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70570000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vhsubw_du_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x705b0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vhsubw_h_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70560000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vhsubw_hu_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x705a0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vhsubw_q_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70578000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vhsubw_qu_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x705b8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vhsubw_w_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70568000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vhsubw_wu_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x705a8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vilvh_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x711c0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vilvh_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x711d8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vilvh_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x711c8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vilvh_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x711d0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vilvl_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x711a0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vilvl_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x711b8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vilvl_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x711a8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vilvl_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x711b0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vinsgr2vr_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, uint32_t uk4) +{ + emit32(assembler, 0x72eb8000 | ((vd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_vinsgr2vr_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, uint32_t uk1) +{ + emit32(assembler, 0x72ebf000 | ((vd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((uk1 & 0x1) << 10)); +} + +void la_vinsgr2vr_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, uint32_t uk3) +{ + emit32(assembler, 0x72ebc000 | ((vd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_vinsgr2vr_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, uint32_t uk2) +{ + emit32(assembler, 0x72ebe000 | ((vd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((uk2 & 0x3) << 10)); +} + +void la_vld(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x2c000000 | ((vd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_vldi(lagoon_assembler_t* assembler, la_vpr_t vd, int32_t sj13) +{ + emit32(assembler, 0x73e00000 | ((vd & 0x1f) << 0) | ((sj13 & 0x1fff) << 5)); +} + +void la_vldrepl_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x30800000 | ((vd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_vldrepl_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, int32_t sk9ps3) +{ + sk9ps3 >>= 3; + emit32(assembler, 0x30100000 | ((vd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk9ps3 & 0x1ff) << 10)); +} + +void la_vldrepl_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, int32_t sk11ps1) +{ + sk11ps1 >>= 1; + emit32(assembler, 0x30400000 | ((vd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk11ps1 & 0x7ff) << 10)); +} + +void la_vldrepl_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, int32_t sk10ps2) +{ + sk10ps2 >>= 2; + emit32(assembler, 0x30200000 | ((vd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk10ps2 & 0x3ff) << 10)); +} + +void la_vldx(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x38400000 | ((vd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_vmadd_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70a80000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmadd_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70a98000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmadd_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70a88000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmadd_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70a90000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmaddwev_d_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70ad0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmaddwev_d_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70b50000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmaddwev_d_wu_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70bd0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmaddwev_h_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70ac0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmaddwev_h_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70b40000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmaddwev_h_bu_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70bc0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmaddwev_q_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70ad8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmaddwev_q_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70b58000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmaddwev_q_du_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70bd8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmaddwev_w_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70ac8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmaddwev_w_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70b48000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmaddwev_w_hu_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70bc8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmaddwod_d_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70af0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmaddwod_d_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70b70000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmaddwod_d_wu_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70bf0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmaddwod_h_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70ae0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmaddwod_h_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70b60000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmaddwod_h_bu_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70be0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmaddwod_q_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70af8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmaddwod_q_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70b78000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmaddwod_q_du_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70bf8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmaddwod_w_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70ae8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmaddwod_w_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70b68000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmaddwod_w_hu_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70be8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmax_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70700000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmax_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70740000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmax_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70718000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmax_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70758000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmax_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70708000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmax_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70748000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmax_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70710000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmax_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70750000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmaxi_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5) +{ + emit32(assembler, 0x72900000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_vmaxi_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x72940000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vmaxi_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5) +{ + emit32(assembler, 0x72918000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_vmaxi_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x72958000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vmaxi_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5) +{ + emit32(assembler, 0x72908000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_vmaxi_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x72948000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vmaxi_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5) +{ + emit32(assembler, 0x72910000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_vmaxi_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x72950000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vmepatmsk_v(lagoon_assembler_t* assembler, la_vpr_t vd, uint32_t uj5, uint32_t uk5) +{ + emit32(assembler, 0x729b8000 | ((vd & 0x1f) << 0) | ((uj5 & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vmin_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70720000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmin_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70760000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmin_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70738000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmin_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70778000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmin_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70728000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmin_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70768000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmin_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70730000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmin_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70770000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmini_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5) +{ + emit32(assembler, 0x72920000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_vmini_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x72960000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vmini_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5) +{ + emit32(assembler, 0x72938000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_vmini_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x72978000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vmini_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5) +{ + emit32(assembler, 0x72928000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_vmini_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x72968000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vmini_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5) +{ + emit32(assembler, 0x72930000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_vmini_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x72970000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vmod_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70e20000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmod_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70e60000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmod_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70e38000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmod_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70e78000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmod_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70e28000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmod_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70e68000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmod_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70e30000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmod_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70e70000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmskgez_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729c5000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vmskltz_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729c4000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vmskltz_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729c4c00 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vmskltz_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729c4400 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vmskltz_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729c4800 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vmsknz_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729c6000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vmsub_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70aa0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmsub_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70ab8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmsub_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70aa8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmsub_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70ab0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmuh_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70860000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmuh_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70880000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmuh_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70878000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmuh_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70898000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmuh_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70868000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmuh_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70888000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmuh_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70870000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmuh_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70890000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmul_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70840000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmul_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70858000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmul_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70848000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmul_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70850000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmulwev_d_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70910000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmulwev_d_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70990000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmulwev_d_wu_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70a10000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmulwev_h_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70900000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmulwev_h_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70980000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmulwev_h_bu_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70a00000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmulwev_q_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70918000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmulwev_q_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70998000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmulwev_q_du_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70a18000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmulwev_w_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70908000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmulwev_w_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70988000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmulwev_w_hu_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70a08000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmulwod_d_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70930000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmulwod_d_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x709b0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmulwod_d_wu_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70a30000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmulwod_h_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70920000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmulwod_h_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x709a0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmulwod_h_bu_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70a20000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmulwod_q_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70938000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmulwod_q_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x709b8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmulwod_q_du_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70a38000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmulwod_w_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70928000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmulwod_w_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x709a8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vmulwod_w_hu_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70a28000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vneg_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729c3000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vneg_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729c3c00 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vneg_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729c3400 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vneg_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729c3800 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vnor_v(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71278000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vnori_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk8) +{ + emit32(assembler, 0x73dc0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_vor_v(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71268000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vori_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk8) +{ + emit32(assembler, 0x73d40000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_vorn_v(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71288000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vpackev_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71160000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vpackev_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71178000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vpackev_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71168000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vpackev_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71170000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vpackod_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71180000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vpackod_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71198000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vpackod_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71188000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vpackod_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71190000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vpcnt_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729c2000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vpcnt_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729c2c00 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vpcnt_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729c2400 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vpcnt_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj) +{ + emit32(assembler, 0x729c2800 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vpermi_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk8) +{ + emit32(assembler, 0x73e40000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_vpickev_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x711e0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vpickev_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x711f8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vpickev_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x711e8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vpickev_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x711f0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vpickod_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71200000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vpickod_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71218000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vpickod_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71208000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vpickod_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71210000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vpickve2gr_b(lagoon_assembler_t* assembler, la_gpr_t rd, la_vpr_t vj, uint32_t uk4) +{ + emit32(assembler, 0x72ef8000 | ((rd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_vpickve2gr_bu(lagoon_assembler_t* assembler, la_gpr_t rd, la_vpr_t vj, uint32_t uk4) +{ + emit32(assembler, 0x72f38000 | ((rd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_vpickve2gr_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_vpr_t vj, uint32_t uk1) +{ + emit32(assembler, 0x72eff000 | ((rd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk1 & 0x1) << 10)); +} + +void la_vpickve2gr_du(lagoon_assembler_t* assembler, la_gpr_t rd, la_vpr_t vj, uint32_t uk1) +{ + emit32(assembler, 0x72f3f000 | ((rd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk1 & 0x1) << 10)); +} + +void la_vpickve2gr_h(lagoon_assembler_t* assembler, la_gpr_t rd, la_vpr_t vj, uint32_t uk3) +{ + emit32(assembler, 0x72efc000 | ((rd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_vpickve2gr_hu(lagoon_assembler_t* assembler, la_gpr_t rd, la_vpr_t vj, uint32_t uk3) +{ + emit32(assembler, 0x72f3c000 | ((rd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_vpickve2gr_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_vpr_t vj, uint32_t uk2) +{ + emit32(assembler, 0x72efe000 | ((rd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk2 & 0x3) << 10)); +} + +void la_vpickve2gr_wu(lagoon_assembler_t* assembler, la_gpr_t rd, la_vpr_t vj, uint32_t uk2) +{ + emit32(assembler, 0x72f3e000 | ((rd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk2 & 0x3) << 10)); +} + +void la_vreplgr2vr_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj) +{ + emit32(assembler, 0x729f0000 | ((vd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_vreplgr2vr_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj) +{ + emit32(assembler, 0x729f0c00 | ((vd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_vreplgr2vr_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj) +{ + emit32(assembler, 0x729f0400 | ((vd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_vreplgr2vr_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj) +{ + emit32(assembler, 0x729f0800 | ((vd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_vreplve_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_gpr_t rk) +{ + emit32(assembler, 0x71220000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_vreplve_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_gpr_t rk) +{ + emit32(assembler, 0x71238000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_vreplve_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_gpr_t rk) +{ + emit32(assembler, 0x71228000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_vreplve_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_gpr_t rk) +{ + emit32(assembler, 0x71230000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_vreplvei_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4) +{ + emit32(assembler, 0x72f78000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_vreplvei_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk1) +{ + emit32(assembler, 0x72f7f000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk1 & 0x1) << 10)); +} + +void la_vreplvei_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk3) +{ + emit32(assembler, 0x72f7c000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_vreplvei_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk2) +{ + emit32(assembler, 0x72f7e000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk2 & 0x3) << 10)); +} + +void la_vrotr_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70ee0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vrotr_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70ef8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vrotr_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70ee8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vrotr_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70ef0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vrotri_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk3) +{ + emit32(assembler, 0x72a02000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_vrotri_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6) +{ + emit32(assembler, 0x72a10000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_vrotri_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4) +{ + emit32(assembler, 0x72a04000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_vrotri_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x72a08000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vsadd_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70460000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsadd_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x704a0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsadd_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70478000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsadd_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x704b8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsadd_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70468000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsadd_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x704a8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsadd_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70470000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsadd_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x704b0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsat_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk3) +{ + emit32(assembler, 0x73242000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_vsat_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk3) +{ + emit32(assembler, 0x73282000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_vsat_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6) +{ + emit32(assembler, 0x73250000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_vsat_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6) +{ + emit32(assembler, 0x73290000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_vsat_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4) +{ + emit32(assembler, 0x73244000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_vsat_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4) +{ + emit32(assembler, 0x73284000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_vsat_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x73248000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vsat_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x73288000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vseq_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70000000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vseq_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70018000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vseq_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70008000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vseq_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70010000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vseqi_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5) +{ + emit32(assembler, 0x72800000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_vseqi_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5) +{ + emit32(assembler, 0x72818000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_vseqi_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5) +{ + emit32(assembler, 0x72808000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_vseqi_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5) +{ + emit32(assembler, 0x72810000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_vsetallnez_b(lagoon_assembler_t* assembler, la_fcc_t cd, la_vpr_t vj) +{ + emit32(assembler, 0x729cb000 | ((cd & 0x7) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vsetallnez_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_vpr_t vj) +{ + emit32(assembler, 0x729cbc00 | ((cd & 0x7) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vsetallnez_h(lagoon_assembler_t* assembler, la_fcc_t cd, la_vpr_t vj) +{ + emit32(assembler, 0x729cb400 | ((cd & 0x7) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vsetallnez_w(lagoon_assembler_t* assembler, la_fcc_t cd, la_vpr_t vj) +{ + emit32(assembler, 0x729cb800 | ((cd & 0x7) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vsetanyeqz_b(lagoon_assembler_t* assembler, la_fcc_t cd, la_vpr_t vj) +{ + emit32(assembler, 0x729ca000 | ((cd & 0x7) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vsetanyeqz_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_vpr_t vj) +{ + emit32(assembler, 0x729cac00 | ((cd & 0x7) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vsetanyeqz_h(lagoon_assembler_t* assembler, la_fcc_t cd, la_vpr_t vj) +{ + emit32(assembler, 0x729ca400 | ((cd & 0x7) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vsetanyeqz_w(lagoon_assembler_t* assembler, la_fcc_t cd, la_vpr_t vj) +{ + emit32(assembler, 0x729ca800 | ((cd & 0x7) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vseteqz_v(lagoon_assembler_t* assembler, la_fcc_t cd, la_vpr_t vj) +{ + emit32(assembler, 0x729c9800 | ((cd & 0x7) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vsetnez_v(lagoon_assembler_t* assembler, la_fcc_t cd, la_vpr_t vj) +{ + emit32(assembler, 0x729c9c00 | ((cd & 0x7) << 0) | ((vj & 0x1f) << 5)); +} + +void la_vshuf4i_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk8) +{ + emit32(assembler, 0x73900000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_vshuf4i_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk8) +{ + emit32(assembler, 0x739c0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_vshuf4i_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk8) +{ + emit32(assembler, 0x73940000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_vshuf4i_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk8) +{ + emit32(assembler, 0x73980000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_vshuf_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk, la_vpr_t va) +{ + emit32(assembler, 0x0d500000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10) | ((va & 0x1f) << 15)); +} + +void la_vshuf_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x717b8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vshuf_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x717a8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vshuf_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x717b0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsigncov_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x712e0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsigncov_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x712f8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsigncov_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x712e8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsigncov_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x712f0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsle_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70020000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsle_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70040000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsle_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70038000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsle_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70058000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsle_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70028000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsle_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70048000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsle_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70030000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsle_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70050000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vslei_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5) +{ + emit32(assembler, 0x72820000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_vslei_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x72840000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vslei_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5) +{ + emit32(assembler, 0x72838000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_vslei_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x72858000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vslei_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5) +{ + emit32(assembler, 0x72828000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_vslei_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x72848000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vslei_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5) +{ + emit32(assembler, 0x72830000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_vslei_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x72850000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vsll_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70e80000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsll_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70e98000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsll_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70e88000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsll_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70e90000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vslli_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk3) +{ + emit32(assembler, 0x732c2000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_vslli_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6) +{ + emit32(assembler, 0x732d0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_vslli_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4) +{ + emit32(assembler, 0x732c4000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_vslli_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x732c8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vsllwil_d_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x73088000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vsllwil_du_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x730c8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vsllwil_h_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk3) +{ + emit32(assembler, 0x73082000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_vsllwil_hu_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk3) +{ + emit32(assembler, 0x730c2000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_vsllwil_w_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4) +{ + emit32(assembler, 0x73084000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_vsllwil_wu_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4) +{ + emit32(assembler, 0x730c4000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_vslt_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70060000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vslt_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70080000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vslt_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70078000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vslt_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70098000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vslt_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70068000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vslt_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70088000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vslt_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70070000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vslt_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70090000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vslti_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5) +{ + emit32(assembler, 0x72860000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_vslti_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x72880000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vslti_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5) +{ + emit32(assembler, 0x72878000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_vslti_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x72898000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vslti_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5) +{ + emit32(assembler, 0x72868000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_vslti_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x72888000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vslti_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, int32_t sk5) +{ + emit32(assembler, 0x72870000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_vslti_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x72890000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vsra_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70ec0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsra_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70ed8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsra_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70ec8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsra_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70ed0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsrai_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk3) +{ + emit32(assembler, 0x73342000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_vsrai_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6) +{ + emit32(assembler, 0x73350000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_vsrai_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4) +{ + emit32(assembler, 0x73344000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_vsrai_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x73348000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vsran_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70f68000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsran_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70f70000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsran_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70f78000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsrani_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4) +{ + emit32(assembler, 0x73584000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_vsrani_d_q(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk7) +{ + emit32(assembler, 0x735a0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk7 & 0x7f) << 10)); +} + +void la_vsrani_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x73588000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vsrani_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6) +{ + emit32(assembler, 0x73590000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_vsrar_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70f20000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsrar_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70f38000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsrar_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70f28000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsrar_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70f30000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsrari_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk3) +{ + emit32(assembler, 0x72a82000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_vsrari_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6) +{ + emit32(assembler, 0x72a90000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_vsrari_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4) +{ + emit32(assembler, 0x72a84000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_vsrari_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x72a88000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vsrarn_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70fa8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsrarn_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70fb0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsrarn_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70fb8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsrarni_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4) +{ + emit32(assembler, 0x735c4000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_vsrarni_d_q(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk7) +{ + emit32(assembler, 0x735e0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk7 & 0x7f) << 10)); +} + +void la_vsrarni_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x735c8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vsrarni_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6) +{ + emit32(assembler, 0x735d0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_vsrl_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70ea0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsrl_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70eb8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsrl_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70ea8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsrl_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70eb0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsrli_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk3) +{ + emit32(assembler, 0x73302000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_vsrli_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6) +{ + emit32(assembler, 0x73310000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_vsrli_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4) +{ + emit32(assembler, 0x73304000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_vsrli_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x73308000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vsrln_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70f48000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsrln_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70f50000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsrln_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70f58000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsrlni_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4) +{ + emit32(assembler, 0x73404000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_vsrlni_d_q(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk7) +{ + emit32(assembler, 0x73420000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk7 & 0x7f) << 10)); +} + +void la_vsrlni_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x73408000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vsrlni_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6) +{ + emit32(assembler, 0x73410000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_vsrlr_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70f00000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsrlr_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70f18000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsrlr_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70f08000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsrlr_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70f10000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsrlri_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk3) +{ + emit32(assembler, 0x72a42000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_vsrlri_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6) +{ + emit32(assembler, 0x72a50000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_vsrlri_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4) +{ + emit32(assembler, 0x72a44000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_vsrlri_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x72a48000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vsrlrn_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70f88000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsrlrn_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70f90000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsrlrn_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70f98000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsrlrni_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4) +{ + emit32(assembler, 0x73444000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_vsrlrni_d_q(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk7) +{ + emit32(assembler, 0x73460000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk7 & 0x7f) << 10)); +} + +void la_vsrlrni_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x73448000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vsrlrni_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6) +{ + emit32(assembler, 0x73450000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_vssran_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70fe8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vssran_bu_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71068000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vssran_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70ff0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vssran_hu_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71070000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vssran_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70ff8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vssran_wu_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71078000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vssrani_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4) +{ + emit32(assembler, 0x73604000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_vssrani_bu_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4) +{ + emit32(assembler, 0x73644000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_vssrani_d_q(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk7) +{ + emit32(assembler, 0x73620000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk7 & 0x7f) << 10)); +} + +void la_vssrani_du_q(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk7) +{ + emit32(assembler, 0x73660000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk7 & 0x7f) << 10)); +} + +void la_vssrani_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x73608000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vssrani_hu_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x73648000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vssrani_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6) +{ + emit32(assembler, 0x73610000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_vssrani_wu_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6) +{ + emit32(assembler, 0x73650000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_vssrarn_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71028000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vssrarn_bu_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x710a8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vssrarn_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71030000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vssrarn_hu_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x710b0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vssrarn_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71038000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vssrarn_wu_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x710b8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vssrarni_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4) +{ + emit32(assembler, 0x73684000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_vssrarni_bu_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4) +{ + emit32(assembler, 0x736c4000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_vssrarni_d_q(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk7) +{ + emit32(assembler, 0x736a0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk7 & 0x7f) << 10)); +} + +void la_vssrarni_du_q(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk7) +{ + emit32(assembler, 0x736e0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk7 & 0x7f) << 10)); +} + +void la_vssrarni_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x73688000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vssrarni_hu_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x736c8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vssrarni_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6) +{ + emit32(assembler, 0x73690000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_vssrarni_wu_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6) +{ + emit32(assembler, 0x736d0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_vssrln_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70fc8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vssrln_bu_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71048000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vssrln_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70fd0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vssrln_hu_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71050000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vssrln_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70fd8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vssrln_wu_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71058000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vssrlni_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4) +{ + emit32(assembler, 0x73484000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_vssrlni_bu_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4) +{ + emit32(assembler, 0x734c4000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_vssrlni_d_q(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk7) +{ + emit32(assembler, 0x734a0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk7 & 0x7f) << 10)); +} + +void la_vssrlni_du_q(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk7) +{ + emit32(assembler, 0x734e0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk7 & 0x7f) << 10)); +} + +void la_vssrlni_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x73488000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vssrlni_hu_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x734c8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vssrlni_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6) +{ + emit32(assembler, 0x73490000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_vssrlni_wu_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6) +{ + emit32(assembler, 0x734d0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_vssrlrn_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71008000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vssrlrn_bu_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71088000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vssrlrn_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71010000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vssrlrn_hu_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71090000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vssrlrn_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71018000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vssrlrn_wu_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71098000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vssrlrni_b_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4) +{ + emit32(assembler, 0x73504000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_vssrlrni_bu_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk4) +{ + emit32(assembler, 0x73544000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_vssrlrni_d_q(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk7) +{ + emit32(assembler, 0x73520000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk7 & 0x7f) << 10)); +} + +void la_vssrlrni_du_q(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk7) +{ + emit32(assembler, 0x73560000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk7 & 0x7f) << 10)); +} + +void la_vssrlrni_h_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x73508000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vssrlrni_hu_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x73548000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vssrlrni_w_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6) +{ + emit32(assembler, 0x73510000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_vssrlrni_wu_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk6) +{ + emit32(assembler, 0x73550000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_vssub_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70480000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vssub_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x704c0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vssub_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70498000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vssub_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x704d8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vssub_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70488000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vssub_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x704c8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vssub_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70490000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vssub_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x704d0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vst(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x2c400000 | ((vd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_vstelm_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, int32_t sk8, uint32_t un4) +{ + emit32(assembler, 0x31800000 | ((vd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk8 & 0xff) << 10) | ((un4 & 0xf) << 18)); +} + +void la_vstelm_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, int32_t sk8ps3, uint32_t un1) +{ + sk8ps3 >>= 3; + emit32(assembler, 0x31100000 | ((vd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk8ps3 & 0xff) << 10) | ((un1 & 0x1) << 18)); +} + +void la_vstelm_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, int32_t sk8ps1, uint32_t un3) +{ + sk8ps1 >>= 1; + emit32(assembler, 0x31400000 | ((vd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk8ps1 & 0xff) << 10) | ((un3 & 0x7) << 18)); +} + +void la_vstelm_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, int32_t sk8ps2, uint32_t un2) +{ + sk8ps2 >>= 2; + emit32(assembler, 0x31200000 | ((vd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk8ps2 & 0xff) << 10) | ((un2 & 0x3) << 18)); +} + +void la_vstx(lagoon_assembler_t* assembler, la_vpr_t vd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x38440000 | ((vd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_vsub_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x700c0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsub_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x700d8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsub_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x700c8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsub_q(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x712d8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsub_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x700d0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsubi_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x728c0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vsubi_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x728d8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vsubi_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x728c8000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vsubi_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk5) +{ + emit32(assembler, 0x728d0000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_vsubwev_d_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70210000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsubwev_d_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70310000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsubwev_h_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70200000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsubwev_h_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70300000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsubwev_q_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70218000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsubwev_q_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70318000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsubwev_w_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70208000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsubwev_w_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70308000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsubwod_d_w(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70250000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsubwod_d_wu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70350000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsubwod_h_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70240000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsubwod_h_bu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70340000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsubwod_q_d(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70258000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsubwod_q_du(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70358000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsubwod_w_h(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70248000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vsubwod_w_hu(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x70348000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vxor_v(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, la_vpr_t vk) +{ + emit32(assembler, 0x71270000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((vk & 0x1f) << 10)); +} + +void la_vxori_b(lagoon_assembler_t* assembler, la_vpr_t vd, la_vpr_t vj, uint32_t uk8) +{ + emit32(assembler, 0x73d80000 | ((vd & 0x1f) << 0) | ((vj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_x86adc_b(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f000c | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86adc_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f000f | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86adc_h(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f000d | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86adc_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f000e | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86add_b(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f0004 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86add_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f0007 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86add_du(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f0001 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86add_h(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f0005 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86add_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f0006 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86add_wu(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f0000 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86and_b(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f8010 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86and_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f8013 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86and_h(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f8011 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86and_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f8012 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86clrtm(lagoon_assembler_t* assembler) +{ + emit32(assembler, 0x00008028); +} + +void la_x86dec_b(lagoon_assembler_t* assembler, la_gpr_t rj) +{ + emit32(assembler, 0x00008004 | ((rj & 0x1f) << 5)); +} + +void la_x86dec_d(lagoon_assembler_t* assembler, la_gpr_t rj) +{ + emit32(assembler, 0x00008007 | ((rj & 0x1f) << 5)); +} + +void la_x86dec_h(lagoon_assembler_t* assembler, la_gpr_t rj) +{ + emit32(assembler, 0x00008005 | ((rj & 0x1f) << 5)); +} + +void la_x86dec_w(lagoon_assembler_t* assembler, la_gpr_t rj) +{ + emit32(assembler, 0x00008006 | ((rj & 0x1f) << 5)); +} + +void la_x86dectop(lagoon_assembler_t* assembler) +{ + emit32(assembler, 0x00008029); +} + +void la_x86inc_b(lagoon_assembler_t* assembler, la_gpr_t rj) +{ + emit32(assembler, 0x00008000 | ((rj & 0x1f) << 5)); +} + +void la_x86inc_d(lagoon_assembler_t* assembler, la_gpr_t rj) +{ + emit32(assembler, 0x00008003 | ((rj & 0x1f) << 5)); +} + +void la_x86inc_h(lagoon_assembler_t* assembler, la_gpr_t rj) +{ + emit32(assembler, 0x00008001 | ((rj & 0x1f) << 5)); +} + +void la_x86inc_w(lagoon_assembler_t* assembler, la_gpr_t rj) +{ + emit32(assembler, 0x00008002 | ((rj & 0x1f) << 5)); +} + +void la_x86inctop(lagoon_assembler_t* assembler) +{ + emit32(assembler, 0x00008009); +} + +void la_x86mfflag(lagoon_assembler_t* assembler, la_gpr_t rd, uint32_t uk8) +{ + emit32(assembler, 0x005c0000 | ((rd & 0x1f) << 0) | ((uk8 & 0xff) << 10)); +} + +void la_x86mftop(lagoon_assembler_t* assembler, la_gpr_t rd) +{ + emit32(assembler, 0x00007400 | ((rd & 0x1f) << 0)); +} + +void la_x86mtflag(lagoon_assembler_t* assembler, la_gpr_t rd, uint32_t uk8) +{ + emit32(assembler, 0x005c0020 | ((rd & 0x1f) << 0) | ((uk8 & 0xff) << 10)); +} + +void la_x86mttop(lagoon_assembler_t* assembler, uint32_t uj3) +{ + emit32(assembler, 0x00007000 | ((uj3 & 0x7) << 5)); +} + +void la_x86mul_b(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003e8000 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86mul_bu(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003e8004 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86mul_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003e8003 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86mul_du(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003e8007 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86mul_h(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003e8001 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86mul_hu(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003e8005 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86mul_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003e8002 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86mul_wu(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003e8006 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86or_b(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f8014 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86or_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f8017 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86or_h(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f8015 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86or_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f8016 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86rcl_b(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f800c | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86rcl_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f800f | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86rcl_h(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f800d | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86rcl_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f800e | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86rcli_b(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk3) +{ + emit32(assembler, 0x00542018 | ((rj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_x86rcli_d(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk6) +{ + emit32(assembler, 0x0055001b | ((rj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_x86rcli_h(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk4) +{ + emit32(assembler, 0x00544019 | ((rj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_x86rcli_w(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk5) +{ + emit32(assembler, 0x0054801a | ((rj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_x86rcr_b(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f8008 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86rcr_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f800b | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86rcr_h(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f8009 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86rcr_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f800a | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86rcri_b(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk3) +{ + emit32(assembler, 0x00542010 | ((rj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_x86rcri_d(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk6) +{ + emit32(assembler, 0x00550013 | ((rj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_x86rcri_h(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk4) +{ + emit32(assembler, 0x00544011 | ((rj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_x86rcri_w(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk5) +{ + emit32(assembler, 0x00548012 | ((rj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_x86rotl_b(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f8004 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86rotl_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f8007 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86rotl_h(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f8005 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86rotl_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f8006 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86rotli_b(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk3) +{ + emit32(assembler, 0x00542014 | ((rj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_x86rotli_d(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk6) +{ + emit32(assembler, 0x00550017 | ((rj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_x86rotli_h(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk4) +{ + emit32(assembler, 0x00544015 | ((rj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_x86rotli_w(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk5) +{ + emit32(assembler, 0x00548016 | ((rj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_x86rotr_b(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f8000 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86rotr_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f8002 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86rotr_h(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f8001 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86rotr_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f8003 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86rotri_b(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk3) +{ + emit32(assembler, 0x0054200c | ((rj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_x86rotri_d(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk6) +{ + emit32(assembler, 0x0055000f | ((rj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_x86rotri_h(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk4) +{ + emit32(assembler, 0x0054400d | ((rj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_x86rotri_w(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk5) +{ + emit32(assembler, 0x0054800e | ((rj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_x86sbc_b(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f0010 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86sbc_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f0013 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86sbc_h(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f0011 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86sbc_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f0012 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86settag(lagoon_assembler_t* assembler, la_gpr_t rd, uint32_t uj5, uint32_t uk8) +{ + emit32(assembler, 0x00580000 | ((rd & 0x1f) << 0) | ((uj5 & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_x86settm(lagoon_assembler_t* assembler) +{ + emit32(assembler, 0x00008008); +} + +void la_x86sll_b(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f0014 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86sll_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f0017 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86sll_h(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f0015 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86sll_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f0016 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86slli_b(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk3) +{ + emit32(assembler, 0x00542000 | ((rj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_x86slli_d(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk6) +{ + emit32(assembler, 0x00550003 | ((rj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_x86slli_h(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk4) +{ + emit32(assembler, 0x00544001 | ((rj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_x86slli_w(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk5) +{ + emit32(assembler, 0x00548002 | ((rj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_x86sra_b(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f001c | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86sra_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f001f | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86sra_h(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f001d | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86sra_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f001e | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86srai_b(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk3) +{ + emit32(assembler, 0x00542008 | ((rj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_x86srai_d(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk6) +{ + emit32(assembler, 0x0055000b | ((rj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_x86srai_h(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk4) +{ + emit32(assembler, 0x00544009 | ((rj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_x86srai_w(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk5) +{ + emit32(assembler, 0x0054800a | ((rj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_x86srl_b(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f0018 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86srl_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f001b | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86srl_h(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f0019 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86srl_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f001a | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86srli_b(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk3) +{ + emit32(assembler, 0x00542004 | ((rj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_x86srli_d(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk6) +{ + emit32(assembler, 0x00550007 | ((rj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_x86srli_h(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk4) +{ + emit32(assembler, 0x00544005 | ((rj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_x86srli_w(lagoon_assembler_t* assembler, la_gpr_t rj, uint32_t uk5) +{ + emit32(assembler, 0x00548006 | ((rj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_x86sub_b(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f0008 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86sub_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f000b | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86sub_du(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f0003 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86sub_h(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f0009 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86sub_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f000a | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86sub_wu(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f0002 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86xor_b(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f8018 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86xor_d(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f801b | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86xor_h(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f8019 | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_x86xor_w(lagoon_assembler_t* assembler, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x003f801a | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_xor(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x00158000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_xori(lagoon_assembler_t* assembler, la_gpr_t rd, la_gpr_t rj, uint32_t uk12) +{ + emit32(assembler, 0x03c00000 | ((rd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((uk12 & 0xfff) << 10)); +} + +void la_xvabsd_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74600000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvabsd_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74620000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvabsd_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74618000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvabsd_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74638000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvabsd_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74608000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvabsd_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74628000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvabsd_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74610000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvabsd_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74630000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvadd_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x740a0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvadd_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x740b8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvadd_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x740a8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvadd_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x752d0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvadd_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x740b0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvadda_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x745c0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvadda_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x745d8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvadda_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x745c8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvadda_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x745d0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvaddi_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x768a0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvaddi_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x768b8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvaddi_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x768a8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvaddi_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x768b0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvaddwev_d_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x741f0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvaddwev_d_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x742f0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvaddwev_d_wu_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x743f0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvaddwev_h_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x741e0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvaddwev_h_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x742e0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvaddwev_h_bu_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x743e0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvaddwev_q_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x741f8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvaddwev_q_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x742f8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvaddwev_q_du_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x743f8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvaddwev_w_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x741e8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvaddwev_w_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x742e8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvaddwev_w_hu_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x743e8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvaddwod_d_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74230000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvaddwod_d_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74330000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvaddwod_d_wu_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74410000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvaddwod_h_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74220000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvaddwod_h_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74320000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvaddwod_h_bu_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74400000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvaddwod_q_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74238000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvaddwod_q_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74338000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvaddwod_q_du_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74418000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvaddwod_w_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74228000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvaddwod_w_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74328000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvaddwod_w_hu_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74408000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvand_v(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75260000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvandi_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8) +{ + emit32(assembler, 0x77d00000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_xvandn_v(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75280000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvavg_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74640000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvavg_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74660000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvavg_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74658000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvavg_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74678000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvavg_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74648000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvavg_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74668000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvavg_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74650000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvavg_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74670000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvavgr_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74680000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvavgr_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x746a0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvavgr_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74698000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvavgr_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x746b8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvavgr_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74688000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvavgr_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x746a8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvavgr_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74690000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvavgr_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x746b0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvbitclr_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x750c0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvbitclr_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x750d8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvbitclr_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x750c8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvbitclr_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x750d0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvbitclri_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3) +{ + emit32(assembler, 0x77102000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_xvbitclri_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6) +{ + emit32(assembler, 0x77110000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_xvbitclri_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4) +{ + emit32(assembler, 0x77104000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_xvbitclri_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x77108000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvbitrev_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75100000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvbitrev_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75118000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvbitrev_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75108000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvbitrev_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75110000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvbitrevi_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3) +{ + emit32(assembler, 0x77182000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_xvbitrevi_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6) +{ + emit32(assembler, 0x77190000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_xvbitrevi_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4) +{ + emit32(assembler, 0x77184000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_xvbitrevi_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x77188000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvbitsel_v(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk, la_xvpr_t xa) +{ + emit32(assembler, 0x0d200000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10) | ((xa & 0x1f) << 15)); +} + +void la_xvbitseli_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8) +{ + emit32(assembler, 0x77c40000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_xvbitset_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x750e0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvbitset_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x750f8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvbitset_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x750e8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvbitset_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x750f0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvbitseti_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3) +{ + emit32(assembler, 0x77142000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_xvbitseti_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6) +{ + emit32(assembler, 0x77150000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_xvbitseti_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4) +{ + emit32(assembler, 0x77144000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_xvbitseti_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x77148000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvbsll_v(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x768e0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvbsrl_v(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x768e8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvclo_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769c0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvclo_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769c0c00 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvclo_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769c0400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvclo_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769c0800 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvclz_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769c1000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvclz_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769c1c00 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvclz_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769c1400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvclz_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769c1800 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvdiv_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74e00000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvdiv_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74e40000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvdiv_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74e18000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvdiv_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74e58000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvdiv_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74e08000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvdiv_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74e48000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvdiv_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74e10000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvdiv_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74e50000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvexth_d_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769ee800 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvexth_du_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769ef800 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvexth_h_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769ee000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvexth_hu_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769ef000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvexth_q_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769eec00 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvexth_qu_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769efc00 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvexth_w_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769ee400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvexth_wu_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769ef400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvextl_q_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x77090000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvextl_qu_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x770d0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvextrins_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8) +{ + emit32(assembler, 0x778c0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_xvextrins_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8) +{ + emit32(assembler, 0x77800000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_xvextrins_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8) +{ + emit32(assembler, 0x77880000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_xvextrins_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8) +{ + emit32(assembler, 0x77840000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_xvfadd_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75310000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfadd_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75308000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfclass_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769cd800 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvfclass_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769cd400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvfcmp_caf_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0ca00000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_caf_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0c900000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_ceq_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0ca20000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_ceq_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0c920000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_cle_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0ca30000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_cle_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0c930000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_clt_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0ca10000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_clt_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0c910000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_cne_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0ca80000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_cne_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0c980000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_cor_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0caa0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_cor_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0c9a0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_cueq_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0ca60000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_cueq_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0c960000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_cule_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0ca70000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_cule_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0c970000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_cult_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0ca50000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_cult_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0c950000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_cun_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0ca40000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_cun_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0c940000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_cune_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0cac0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_cune_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0c9c0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_saf_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0ca08000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_saf_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0c908000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_seq_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0ca28000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_seq_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0c928000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_sle_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0ca38000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_sle_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0c938000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_slt_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0ca18000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_slt_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0c918000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_sne_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0ca88000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_sne_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0c988000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_sor_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0caa8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_sor_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0c9a8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_sueq_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0ca68000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_sueq_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0c968000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_sule_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0ca78000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_sule_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0c978000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_sult_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0ca58000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_sult_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0c958000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_sun_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0ca48000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_sun_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0c948000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_sune_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0cac8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcmp_sune_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x0c9c8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcvt_h_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75460000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcvt_s_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75468000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfcvth_d_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769df400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvfcvth_s_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769dec00 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvfcvtl_d_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769df000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvfcvtl_s_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769de800 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvfdiv_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x753b0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfdiv_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x753a8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvffint_d_l(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769e0800 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvffint_d_lu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769e0c00 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvffint_s_l(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75480000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvffint_s_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769e0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvffint_s_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769e0400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvffinth_d_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769e1400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvffintl_d_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769e1000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvflogb_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769cc800 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvflogb_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769cc400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvfmadd_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk, la_xvpr_t xa) +{ + emit32(assembler, 0x0a200000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10) | ((xa & 0x1f) << 15)); +} + +void la_xvfmadd_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk, la_xvpr_t xa) +{ + emit32(assembler, 0x0a100000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10) | ((xa & 0x1f) << 15)); +} + +void la_xvfmax_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x753d0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfmax_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x753c8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfmaxa_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75410000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfmaxa_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75408000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfmin_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x753f0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfmin_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x753e8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfmina_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75430000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfmina_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75428000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfmsub_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk, la_xvpr_t xa) +{ + emit32(assembler, 0x0a600000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10) | ((xa & 0x1f) << 15)); +} + +void la_xvfmsub_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk, la_xvpr_t xa) +{ + emit32(assembler, 0x0a500000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10) | ((xa & 0x1f) << 15)); +} + +void la_xvfmul_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75390000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfmul_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75388000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfnmadd_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk, la_xvpr_t xa) +{ + emit32(assembler, 0x0aa00000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10) | ((xa & 0x1f) << 15)); +} + +void la_xvfnmadd_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk, la_xvpr_t xa) +{ + emit32(assembler, 0x0a900000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10) | ((xa & 0x1f) << 15)); +} + +void la_xvfnmsub_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk, la_xvpr_t xa) +{ + emit32(assembler, 0x0ae00000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10) | ((xa & 0x1f) << 15)); +} + +void la_xvfnmsub_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk, la_xvpr_t xa) +{ + emit32(assembler, 0x0ad00000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10) | ((xa & 0x1f) << 15)); +} + +void la_xvfrecip_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769cf800 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvfrecip_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769cf400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvfrecipe_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769d1800 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvfrecipe_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769d1400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvfrint_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769d3800 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvfrint_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769d3400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvfrintrm_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769d4800 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvfrintrm_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769d4400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvfrintrne_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769d7800 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvfrintrne_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769d7400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvfrintrp_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769d5800 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvfrintrp_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769d5400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvfrintrz_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769d6800 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvfrintrz_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769d6400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvfrsqrt_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769d0800 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvfrsqrt_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769d0400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvfrsqrte_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769d2800 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvfrsqrte_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769d2400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvfrstp_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x752b0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfrstp_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x752b8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfrstpi_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x769a0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvfrstpi_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x769a8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvfsqrt_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769ce800 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvfsqrt_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769ce400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvfsub_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75330000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvfsub_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75328000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvftint_l_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769e3400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvftint_lu_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769e5c00 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvftint_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75498000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvftint_w_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769e3000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvftint_wu_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769e5800 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvftinth_l_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769e8400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvftintl_l_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769e8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvftintrm_l_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769e3c00 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvftintrm_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x754a0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvftintrm_w_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769e3800 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvftintrmh_l_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769e8c00 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvftintrml_l_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769e8800 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvftintrne_l_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769e5400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvftintrne_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x754b8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvftintrne_w_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769e5000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvftintrneh_l_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769ea400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvftintrnel_l_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769ea000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvftintrp_l_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769e4400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvftintrp_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x754a8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvftintrp_w_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769e4000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvftintrph_l_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769e9400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvftintrpl_l_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769e9000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvftintrz_l_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769e4c00 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvftintrz_lu_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769e7400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvftintrz_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x754b0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvftintrz_w_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769e4800 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvftintrz_wu_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769e7000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvftintrzh_l_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769e9c00 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvftintrzl_l_s(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769e9800 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvhaddw_d_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74550000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvhaddw_du_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74590000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvhaddw_h_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74540000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvhaddw_hu_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74580000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvhaddw_q_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74558000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvhaddw_qu_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74598000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvhaddw_w_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74548000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvhaddw_wu_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74588000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvhsubw_d_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74570000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvhsubw_du_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x745b0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvhsubw_h_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74560000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvhsubw_hu_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x745a0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvhsubw_q_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74578000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvhsubw_qu_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x745b8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvhsubw_w_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74568000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvhsubw_wu_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x745a8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvilvh_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x751c0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvilvh_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x751d8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvilvh_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x751c8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvilvh_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x751d0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvilvl_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x751a0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvilvl_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x751b8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvilvl_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x751a8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvilvl_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x751b0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvinsgr2vr_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj, uint32_t uk2) +{ + emit32(assembler, 0x76ebe000 | ((xd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((uk2 & 0x3) << 10)); +} + +void la_xvinsgr2vr_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj, uint32_t uk3) +{ + emit32(assembler, 0x76ebc000 | ((xd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_xvinsve0_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk2) +{ + emit32(assembler, 0x76ffe000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk2 & 0x3) << 10)); +} + +void la_xvinsve0_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3) +{ + emit32(assembler, 0x76ffc000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_xvld(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x2c800000 | ((xd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_xvldi(lagoon_assembler_t* assembler, la_xvpr_t xd, int32_t sj13) +{ + emit32(assembler, 0x77e00000 | ((xd & 0x1f) << 0) | ((sj13 & 0x1fff) << 5)); +} + +void la_xvldrepl_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x32800000 | ((xd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_xvldrepl_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj, int32_t sk9ps3) +{ + sk9ps3 >>= 3; + emit32(assembler, 0x32100000 | ((xd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk9ps3 & 0x1ff) << 10)); +} + +void la_xvldrepl_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj, int32_t sk11ps1) +{ + sk11ps1 >>= 1; + emit32(assembler, 0x32400000 | ((xd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk11ps1 & 0x7ff) << 10)); +} + +void la_xvldrepl_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj, int32_t sk10ps2) +{ + sk10ps2 >>= 2; + emit32(assembler, 0x32200000 | ((xd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk10ps2 & 0x3ff) << 10)); +} + +void la_xvldx(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x38480000 | ((xd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_xvmadd_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74a80000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmadd_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74a98000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmadd_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74a88000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmadd_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74a90000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmaddwev_d_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74ad0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmaddwev_d_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74b50000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmaddwev_d_wu_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74bd0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmaddwev_h_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74ac0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmaddwev_h_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74b40000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmaddwev_h_bu_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74bc0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmaddwev_q_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74ad8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmaddwev_q_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74b58000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmaddwev_q_du_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74bd8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmaddwev_w_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74ac8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmaddwev_w_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74b48000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmaddwev_w_hu_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74bc8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmaddwod_d_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74af0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmaddwod_d_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74b70000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmaddwod_d_wu_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74bf0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmaddwod_h_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74ae0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmaddwod_h_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74b60000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmaddwod_h_bu_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74be0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmaddwod_q_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74af8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmaddwod_q_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74b78000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmaddwod_q_du_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74bf8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmaddwod_w_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74ae8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmaddwod_w_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74b68000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmaddwod_w_hu_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74be8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmax_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74700000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmax_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74740000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmax_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74718000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmax_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74758000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmax_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74708000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmax_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74748000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmax_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74710000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmax_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74750000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmaxi_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5) +{ + emit32(assembler, 0x76900000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_xvmaxi_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x76940000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvmaxi_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5) +{ + emit32(assembler, 0x76918000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_xvmaxi_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x76958000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvmaxi_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5) +{ + emit32(assembler, 0x76908000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_xvmaxi_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x76948000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvmaxi_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5) +{ + emit32(assembler, 0x76910000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_xvmaxi_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x76950000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvmepatmsk_v(lagoon_assembler_t* assembler, la_xvpr_t xd, uint32_t uj5, uint32_t uk5) +{ + emit32(assembler, 0x769b8000 | ((xd & 0x1f) << 0) | ((uj5 & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvmin_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74720000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmin_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74760000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmin_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74738000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmin_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74778000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmin_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74728000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmin_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74768000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmin_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74730000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmin_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74770000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmini_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5) +{ + emit32(assembler, 0x76920000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_xvmini_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x76960000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvmini_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5) +{ + emit32(assembler, 0x76938000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_xvmini_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x76978000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvmini_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5) +{ + emit32(assembler, 0x76928000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_xvmini_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x76968000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvmini_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5) +{ + emit32(assembler, 0x76930000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_xvmini_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x76970000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvmod_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74e20000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmod_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74e60000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmod_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74e38000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmod_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74e78000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmod_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74e28000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmod_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74e68000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmod_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74e30000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmod_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74e70000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmskgez_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769c5000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvmskltz_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769c4000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvmskltz_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769c4c00 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvmskltz_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769c4400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvmskltz_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769c4800 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvmsknz_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769c6000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvmsub_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74aa0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmsub_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74ab8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmsub_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74aa8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmsub_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74ab0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmuh_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74860000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmuh_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74880000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmuh_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74878000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmuh_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74898000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmuh_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74868000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmuh_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74888000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmuh_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74870000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmuh_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74890000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmul_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74840000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmul_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74858000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmul_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74848000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmul_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74850000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmulwev_d_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74910000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmulwev_d_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74990000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmulwev_d_wu_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74a10000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmulwev_h_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74900000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmulwev_h_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74980000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmulwev_h_bu_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74a00000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmulwev_q_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74918000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmulwev_q_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74998000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmulwev_q_du_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74a18000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmulwev_w_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74908000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmulwev_w_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74988000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmulwev_w_hu_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74a08000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmulwod_d_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74930000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmulwod_d_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x749b0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmulwod_d_wu_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74a30000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmulwod_h_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74920000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmulwod_h_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x749a0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmulwod_h_bu_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74a20000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmulwod_q_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74938000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmulwod_q_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x749b8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmulwod_q_du_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74a38000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmulwod_w_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74928000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmulwod_w_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x749a8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvmulwod_w_hu_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74a28000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvneg_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769c3000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvneg_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769c3c00 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvneg_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769c3400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvneg_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769c3800 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvnor_v(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75278000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvnori_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8) +{ + emit32(assembler, 0x77dc0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_xvor_v(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75268000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvori_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8) +{ + emit32(assembler, 0x77d40000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_xvorn_v(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75288000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvpackev_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75160000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvpackev_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75178000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvpackev_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75168000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvpackev_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75170000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvpackod_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75180000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvpackod_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75198000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvpackod_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75188000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvpackod_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75190000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvpcnt_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769c2000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvpcnt_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769c2c00 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvpcnt_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769c2400 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvpcnt_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x769c2800 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvperm_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x757d0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvpermi_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8) +{ + emit32(assembler, 0x77e80000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_xvpermi_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8) +{ + emit32(assembler, 0x77ec0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_xvpermi_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8) +{ + emit32(assembler, 0x77e40000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_xvpickev_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x751e0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvpickev_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x751f8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvpickev_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x751e8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvpickev_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x751f0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvpickod_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75200000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvpickod_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75218000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvpickod_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75208000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvpickod_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75210000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvpickve2gr_d(lagoon_assembler_t* assembler, la_gpr_t rd, la_xvpr_t xj, uint32_t uk2) +{ + emit32(assembler, 0x76efe000 | ((rd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk2 & 0x3) << 10)); +} + +void la_xvpickve2gr_du(lagoon_assembler_t* assembler, la_gpr_t rd, la_xvpr_t xj, uint32_t uk2) +{ + emit32(assembler, 0x76f3e000 | ((rd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk2 & 0x3) << 10)); +} + +void la_xvpickve2gr_w(lagoon_assembler_t* assembler, la_gpr_t rd, la_xvpr_t xj, uint32_t uk3) +{ + emit32(assembler, 0x76efc000 | ((rd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_xvpickve2gr_wu(lagoon_assembler_t* assembler, la_gpr_t rd, la_xvpr_t xj, uint32_t uk3) +{ + emit32(assembler, 0x76f3c000 | ((rd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_xvpickve_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk2) +{ + emit32(assembler, 0x7703e000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk2 & 0x3) << 10)); +} + +void la_xvpickve_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3) +{ + emit32(assembler, 0x7703c000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_xvrepl128vei_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4) +{ + emit32(assembler, 0x76f78000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_xvrepl128vei_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk1) +{ + emit32(assembler, 0x76f7f000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk1 & 0x1) << 10)); +} + +void la_xvrepl128vei_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3) +{ + emit32(assembler, 0x76f7c000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_xvrepl128vei_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk2) +{ + emit32(assembler, 0x76f7e000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk2 & 0x3) << 10)); +} + +void la_xvreplgr2vr_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj) +{ + emit32(assembler, 0x769f0000 | ((xd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_xvreplgr2vr_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj) +{ + emit32(assembler, 0x769f0c00 | ((xd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_xvreplgr2vr_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj) +{ + emit32(assembler, 0x769f0400 | ((xd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_xvreplgr2vr_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj) +{ + emit32(assembler, 0x769f0800 | ((xd & 0x1f) << 0) | ((rj & 0x1f) << 5)); +} + +void la_xvreplve0_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x77070000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvreplve0_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x7707e000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvreplve0_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x77078000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvreplve0_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x7707f000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvreplve0_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj) +{ + emit32(assembler, 0x7707c000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvreplve_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_gpr_t rk) +{ + emit32(assembler, 0x75220000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_xvreplve_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_gpr_t rk) +{ + emit32(assembler, 0x75238000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_xvreplve_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_gpr_t rk) +{ + emit32(assembler, 0x75228000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_xvreplve_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_gpr_t rk) +{ + emit32(assembler, 0x75230000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_xvrotr_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74ee0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvrotr_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74ef8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvrotr_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74ee8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvrotr_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74ef0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvrotri_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3) +{ + emit32(assembler, 0x76a02000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_xvrotri_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6) +{ + emit32(assembler, 0x76a10000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_xvrotri_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4) +{ + emit32(assembler, 0x76a04000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_xvrotri_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x76a08000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvsadd_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74460000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsadd_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x744a0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsadd_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74478000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsadd_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x744b8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsadd_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74468000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsadd_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x744a8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsadd_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74470000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsadd_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x744b0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsat_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3) +{ + emit32(assembler, 0x77242000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_xvsat_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3) +{ + emit32(assembler, 0x77282000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_xvsat_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6) +{ + emit32(assembler, 0x77250000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_xvsat_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6) +{ + emit32(assembler, 0x77290000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_xvsat_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4) +{ + emit32(assembler, 0x77244000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_xvsat_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4) +{ + emit32(assembler, 0x77284000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_xvsat_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x77248000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvsat_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x77288000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvseq_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74000000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvseq_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74018000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvseq_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74008000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvseq_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74010000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvseqi_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5) +{ + emit32(assembler, 0x76800000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_xvseqi_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5) +{ + emit32(assembler, 0x76818000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_xvseqi_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5) +{ + emit32(assembler, 0x76808000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_xvseqi_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5) +{ + emit32(assembler, 0x76810000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_xvsetallnez_b(lagoon_assembler_t* assembler, la_fcc_t cd, la_xvpr_t xj) +{ + emit32(assembler, 0x769cb000 | ((cd & 0x7) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvsetallnez_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_xvpr_t xj) +{ + emit32(assembler, 0x769cbc00 | ((cd & 0x7) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvsetallnez_h(lagoon_assembler_t* assembler, la_fcc_t cd, la_xvpr_t xj) +{ + emit32(assembler, 0x769cb400 | ((cd & 0x7) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvsetallnez_w(lagoon_assembler_t* assembler, la_fcc_t cd, la_xvpr_t xj) +{ + emit32(assembler, 0x769cb800 | ((cd & 0x7) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvsetanyeqz_b(lagoon_assembler_t* assembler, la_fcc_t cd, la_xvpr_t xj) +{ + emit32(assembler, 0x769ca000 | ((cd & 0x7) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvsetanyeqz_d(lagoon_assembler_t* assembler, la_fcc_t cd, la_xvpr_t xj) +{ + emit32(assembler, 0x769cac00 | ((cd & 0x7) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvsetanyeqz_h(lagoon_assembler_t* assembler, la_fcc_t cd, la_xvpr_t xj) +{ + emit32(assembler, 0x769ca400 | ((cd & 0x7) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvsetanyeqz_w(lagoon_assembler_t* assembler, la_fcc_t cd, la_xvpr_t xj) +{ + emit32(assembler, 0x769ca800 | ((cd & 0x7) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvseteqz_v(lagoon_assembler_t* assembler, la_fcc_t cd, la_xvpr_t xj) +{ + emit32(assembler, 0x769c9800 | ((cd & 0x7) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvsetnez_v(lagoon_assembler_t* assembler, la_fcc_t cd, la_xvpr_t xj) +{ + emit32(assembler, 0x769c9c00 | ((cd & 0x7) << 0) | ((xj & 0x1f) << 5)); +} + +void la_xvshuf4i_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8) +{ + emit32(assembler, 0x77900000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_xvshuf4i_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8) +{ + emit32(assembler, 0x779c0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_xvshuf4i_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8) +{ + emit32(assembler, 0x77940000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_xvshuf4i_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8) +{ + emit32(assembler, 0x77980000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_xvshuf_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk, la_xvpr_t xa) +{ + emit32(assembler, 0x0d600000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10) | ((xa & 0x1f) << 15)); +} + +void la_xvshuf_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x757b8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvshuf_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x757a8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvshuf_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x757b0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsigncov_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x752e0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsigncov_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x752f8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsigncov_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x752e8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsigncov_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x752f0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsle_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74020000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsle_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74040000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsle_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74038000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsle_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74058000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsle_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74028000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsle_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74048000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsle_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74030000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsle_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74050000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvslei_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5) +{ + emit32(assembler, 0x76820000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_xvslei_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x76840000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvslei_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5) +{ + emit32(assembler, 0x76838000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_xvslei_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x76858000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvslei_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5) +{ + emit32(assembler, 0x76828000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_xvslei_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x76848000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvslei_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5) +{ + emit32(assembler, 0x76830000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_xvslei_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x76850000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvsll_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74e80000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsll_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74e98000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsll_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74e88000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsll_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74e90000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvslli_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3) +{ + emit32(assembler, 0x772c2000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_xvslli_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6) +{ + emit32(assembler, 0x772d0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_xvslli_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4) +{ + emit32(assembler, 0x772c4000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_xvslli_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x772c8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvsllwil_d_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x77088000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvsllwil_du_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x770c8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvsllwil_h_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3) +{ + emit32(assembler, 0x77082000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_xvsllwil_hu_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3) +{ + emit32(assembler, 0x770c2000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_xvsllwil_w_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4) +{ + emit32(assembler, 0x77084000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_xvsllwil_wu_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4) +{ + emit32(assembler, 0x770c4000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_xvslt_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74060000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvslt_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74080000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvslt_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74078000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvslt_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74098000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvslt_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74068000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvslt_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74088000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvslt_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74070000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvslt_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74090000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvslti_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5) +{ + emit32(assembler, 0x76860000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_xvslti_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x76880000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvslti_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5) +{ + emit32(assembler, 0x76878000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_xvslti_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x76898000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvslti_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5) +{ + emit32(assembler, 0x76868000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_xvslti_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x76888000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvslti_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, int32_t sk5) +{ + emit32(assembler, 0x76870000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((sk5 & 0x1f) << 10)); +} + +void la_xvslti_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x76890000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvsra_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74ec0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsra_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74ed8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsra_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74ec8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsra_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74ed0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsrai_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3) +{ + emit32(assembler, 0x77342000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_xvsrai_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6) +{ + emit32(assembler, 0x77350000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_xvsrai_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4) +{ + emit32(assembler, 0x77344000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_xvsrai_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x77348000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvsran_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74f68000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsran_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74f70000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsran_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74f78000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsrani_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4) +{ + emit32(assembler, 0x77584000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_xvsrani_d_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk7) +{ + emit32(assembler, 0x775a0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk7 & 0x7f) << 10)); +} + +void la_xvsrani_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x77588000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvsrani_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6) +{ + emit32(assembler, 0x77590000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_xvsrar_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74f20000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsrar_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74f38000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsrar_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74f28000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsrar_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74f30000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsrari_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3) +{ + emit32(assembler, 0x76a82000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_xvsrari_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6) +{ + emit32(assembler, 0x76a90000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_xvsrari_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4) +{ + emit32(assembler, 0x76a84000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_xvsrari_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x76a88000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvsrarn_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74fa8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsrarn_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74fb0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsrarn_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74fb8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsrarni_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4) +{ + emit32(assembler, 0x775c4000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_xvsrarni_d_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk7) +{ + emit32(assembler, 0x775e0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk7 & 0x7f) << 10)); +} + +void la_xvsrarni_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x775c8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvsrarni_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6) +{ + emit32(assembler, 0x775d0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_xvsrl_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74ea0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsrl_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74eb8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsrl_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74ea8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsrl_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74eb0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsrli_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3) +{ + emit32(assembler, 0x77302000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_xvsrli_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6) +{ + emit32(assembler, 0x77310000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_xvsrli_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4) +{ + emit32(assembler, 0x77304000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_xvsrli_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x77308000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvsrln_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74f48000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsrln_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74f50000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsrln_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74f58000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsrlni_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4) +{ + emit32(assembler, 0x77404000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_xvsrlni_d_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk7) +{ + emit32(assembler, 0x77420000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk7 & 0x7f) << 10)); +} + +void la_xvsrlni_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x77408000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvsrlni_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6) +{ + emit32(assembler, 0x77410000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_xvsrlr_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74f00000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsrlr_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74f18000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsrlr_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74f08000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsrlr_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74f10000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsrlri_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk3) +{ + emit32(assembler, 0x76a42000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk3 & 0x7) << 10)); +} + +void la_xvsrlri_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6) +{ + emit32(assembler, 0x76a50000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_xvsrlri_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4) +{ + emit32(assembler, 0x76a44000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_xvsrlri_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x76a48000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvsrlrn_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74f88000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsrlrn_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74f90000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsrlrn_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74f98000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsrlrni_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4) +{ + emit32(assembler, 0x77444000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_xvsrlrni_d_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk7) +{ + emit32(assembler, 0x77460000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk7 & 0x7f) << 10)); +} + +void la_xvsrlrni_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x77448000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvsrlrni_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6) +{ + emit32(assembler, 0x77450000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_xvssran_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74fe8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvssran_bu_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75068000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvssran_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74ff0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvssran_hu_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75070000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvssran_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74ff8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvssran_wu_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75078000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvssrani_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4) +{ + emit32(assembler, 0x77604000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_xvssrani_bu_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4) +{ + emit32(assembler, 0x77644000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_xvssrani_d_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk7) +{ + emit32(assembler, 0x77620000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk7 & 0x7f) << 10)); +} + +void la_xvssrani_du_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk7) +{ + emit32(assembler, 0x77660000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk7 & 0x7f) << 10)); +} + +void la_xvssrani_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x77608000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvssrani_hu_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x77648000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvssrani_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6) +{ + emit32(assembler, 0x77610000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_xvssrani_wu_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6) +{ + emit32(assembler, 0x77650000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_xvssrarn_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75028000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvssrarn_bu_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x750a8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvssrarn_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75030000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvssrarn_hu_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x750b0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvssrarn_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75038000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvssrarn_wu_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x750b8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvssrarni_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4) +{ + emit32(assembler, 0x77684000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_xvssrarni_bu_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4) +{ + emit32(assembler, 0x776c4000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_xvssrarni_d_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk7) +{ + emit32(assembler, 0x776a0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk7 & 0x7f) << 10)); +} + +void la_xvssrarni_du_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk7) +{ + emit32(assembler, 0x776e0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk7 & 0x7f) << 10)); +} + +void la_xvssrarni_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x77688000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvssrarni_hu_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x776c8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvssrarni_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6) +{ + emit32(assembler, 0x77690000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_xvssrarni_wu_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6) +{ + emit32(assembler, 0x776d0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_xvssrln_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74fc8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvssrln_bu_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75048000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvssrln_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74fd0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvssrln_hu_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75050000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvssrln_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74fd8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvssrln_wu_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75058000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvssrlni_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4) +{ + emit32(assembler, 0x77484000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_xvssrlni_bu_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4) +{ + emit32(assembler, 0x774c4000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_xvssrlni_d_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk7) +{ + emit32(assembler, 0x774a0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk7 & 0x7f) << 10)); +} + +void la_xvssrlni_du_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk7) +{ + emit32(assembler, 0x774e0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk7 & 0x7f) << 10)); +} + +void la_xvssrlni_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x77488000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvssrlni_hu_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x774c8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvssrlni_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6) +{ + emit32(assembler, 0x77490000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_xvssrlni_wu_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6) +{ + emit32(assembler, 0x774d0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_xvssrlrn_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75008000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvssrlrn_bu_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75088000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvssrlrn_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75010000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvssrlrn_hu_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75090000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvssrlrn_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75018000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvssrlrn_wu_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75098000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvssrlrni_b_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4) +{ + emit32(assembler, 0x77504000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_xvssrlrni_bu_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk4) +{ + emit32(assembler, 0x77544000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk4 & 0xf) << 10)); +} + +void la_xvssrlrni_d_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk7) +{ + emit32(assembler, 0x77520000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk7 & 0x7f) << 10)); +} + +void la_xvssrlrni_du_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk7) +{ + emit32(assembler, 0x77560000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk7 & 0x7f) << 10)); +} + +void la_xvssrlrni_h_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x77508000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvssrlrni_hu_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x77548000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvssrlrni_w_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6) +{ + emit32(assembler, 0x77510000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_xvssrlrni_wu_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk6) +{ + emit32(assembler, 0x77550000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk6 & 0x3f) << 10)); +} + +void la_xvssub_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74480000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvssub_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x744c0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvssub_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74498000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvssub_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x744d8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvssub_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74488000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvssub_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x744c8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvssub_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74490000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvssub_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x744d0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvst(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj, int32_t sk12) +{ + emit32(assembler, 0x2cc00000 | ((xd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk12 & 0xfff) << 10)); +} + +void la_xvstelm_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj, int32_t sk8, uint32_t un5) +{ + emit32(assembler, 0x33800000 | ((xd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk8 & 0xff) << 10) | ((un5 & 0x1f) << 18)); +} + +void la_xvstelm_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj, int32_t sk8ps3, uint32_t un2) +{ + sk8ps3 >>= 3; + emit32(assembler, 0x33100000 | ((xd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk8ps3 & 0xff) << 10) | ((un2 & 0x3) << 18)); +} + +void la_xvstelm_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj, int32_t sk8ps1, uint32_t un4) +{ + sk8ps1 >>= 1; + emit32(assembler, 0x33400000 | ((xd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk8ps1 & 0xff) << 10) | ((un4 & 0xf) << 18)); +} + +void la_xvstelm_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj, int32_t sk8ps2, uint32_t un3) +{ + sk8ps2 >>= 2; + emit32(assembler, 0x33200000 | ((xd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((sk8ps2 & 0xff) << 10) | ((un3 & 0x7) << 18)); +} + +void la_xvstx(lagoon_assembler_t* assembler, la_xvpr_t xd, la_gpr_t rj, la_gpr_t rk) +{ + emit32(assembler, 0x384c0000 | ((xd & 0x1f) << 0) | ((rj & 0x1f) << 5) | ((rk & 0x1f) << 10)); +} + +void la_xvsub_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x740c0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsub_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x740d8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsub_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x740c8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsub_q(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x752d8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsub_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x740d0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsubi_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x768c0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvsubi_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x768d8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvsubi_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x768c8000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvsubi_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk5) +{ + emit32(assembler, 0x768d0000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk5 & 0x1f) << 10)); +} + +void la_xvsubwev_d_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74210000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsubwev_d_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74310000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsubwev_h_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74200000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsubwev_h_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74300000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsubwev_q_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74218000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsubwev_q_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74318000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsubwev_w_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74208000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsubwev_w_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74308000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsubwod_d_w(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74250000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsubwod_d_wu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74350000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsubwod_h_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74240000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsubwod_h_bu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74340000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsubwod_q_d(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74258000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsubwod_q_du(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74358000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsubwod_w_h(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74248000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvsubwod_w_hu(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x74348000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvxor_v(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, la_xvpr_t xk) +{ + emit32(assembler, 0x75270000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((xk & 0x1f) << 10)); +} + +void la_xvxori_b(lagoon_assembler_t* assembler, la_xvpr_t xd, la_xvpr_t xj, uint32_t uk8) +{ + emit32(assembler, 0x77d80000 | ((xd & 0x1f) << 0) | ((xj & 0x1f) << 5) | ((uk8 & 0xff) << 10)); +} + +void la_xxx_unknown_1(lagoon_assembler_t* assembler) +{ + emit32(assembler, 0x06493000); +} + +//// ANCHOR: mnemonic function definitions end +// clang-format on + +static const char* gpr_names[] = { + "$zero", + "$ra", + "$tp", + "$sp", + "$a0", + "$a1", + "$a2", + "$a3", + "$a4", + "$a5", + "$a6", + "$a7", + "$t0", + "$t1", + "$t2", + "$t3", + "$t4", + "$t5", + "$t6", + "$t7", + "$t8", + "$r21", + "$fp", + "$s0", + "$s1", + "$s2", + "$s3", + "$s4", + "$s5", + "$s6", + "$s7", + "$s8", +}; + +static const char* fpr_names[] = { + "$fa0", + "$fa1", + "$fa2", + "$fa3", + "$fa4", + "$fa5", + "$fa6", + "$fa7", + "$ft0", + "$ft1", + "$ft2", + "$ft3", + "$ft4", + "$ft5", + "$ft6", + "$ft7", + "$ft8", + "$ft9", + "$ft10", + "$ft11", + "$ft12", + "$ft13", + "$ft14", + "$ft15", + "$fs0", + "$fs1", + "$fs2", + "$fs3", + "$fs4", + "$fs5", + "$fs6", + "$fs7", +}; + +void la_disasm_one(uint32_t word, lagoon_insn_t* insn) +{ + insn->offset = 0; + insn->encoding = word; + insn->mnemonic = NULL; + insn->operand_count = 0; + + //// ANCHOR: disasm start + + if ((word & 0xffff8000u) == 0x00300000u) { + insn->mnemonic = "adc.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00318000u) { + insn->mnemonic = "adc.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00308000u) { + insn->mnemonic = "adc.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00310000u) { + insn->mnemonic = "adc.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00108000u) { + insn->mnemonic = "add.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00100000u) { + insn->mnemonic = "add.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffc00000u) == 0x02c00000u) { + insn->mnemonic = "addi.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xffc00000u) == 0x02800000u) { + insn->mnemonic = "addi.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xffff8000u) == 0x00298000u) { + insn->mnemonic = "addu12i.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x00290000u) { + insn->mnemonic = "addu12i.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xfc000000u) == 0x10000000u) { + insn->mnemonic = "addu16i.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xffff) << 16 >> 16); + return; + } + if ((word & 0xfffe0000u) == 0x002c0000u) { + insn->mnemonic = "alsl.d"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_UIMM; + insn->operands[3].uimm = (((word >> 15) & 0x3) + 1); + return; + } + if ((word & 0xfffe0000u) == 0x00040000u) { + insn->mnemonic = "alsl.w"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_UIMM; + insn->operands[3].uimm = (((word >> 15) & 0x3) + 1); + return; + } + if ((word & 0xfffe0000u) == 0x00060000u) { + insn->mnemonic = "alsl.wu"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_UIMM; + insn->operands[3].uimm = (((word >> 15) & 0x3) + 1); + return; + } + if ((word & 0xffff8000u) == 0x385d0000u) { + insn->mnemonic = "amadd.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38618000u) { + insn->mnemonic = "amadd.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x385f0000u) { + insn->mnemonic = "amadd_db.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x386a8000u) { + insn->mnemonic = "amadd_db.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x385f8000u) { + insn->mnemonic = "amadd_db.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x386a0000u) { + insn->mnemonic = "amadd_db.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x385d8000u) { + insn->mnemonic = "amadd.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38610000u) { + insn->mnemonic = "amadd.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38628000u) { + insn->mnemonic = "amand.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x386b8000u) { + insn->mnemonic = "amand_db.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x386b0000u) { + insn->mnemonic = "amand_db.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38620000u) { + insn->mnemonic = "amand.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38580000u) { + insn->mnemonic = "amcas.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38598000u) { + insn->mnemonic = "amcas.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x385a0000u) { + insn->mnemonic = "amcas_db.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x385b8000u) { + insn->mnemonic = "amcas_db.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x385a8000u) { + insn->mnemonic = "amcas_db.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x385b0000u) { + insn->mnemonic = "amcas_db.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38588000u) { + insn->mnemonic = "amcas.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38590000u) { + insn->mnemonic = "amcas.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38658000u) { + insn->mnemonic = "ammax.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x386e8000u) { + insn->mnemonic = "ammax_db.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38708000u) { + insn->mnemonic = "ammax_db.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x386e0000u) { + insn->mnemonic = "ammax_db.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38700000u) { + insn->mnemonic = "ammax_db.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38678000u) { + insn->mnemonic = "ammax.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38650000u) { + insn->mnemonic = "ammax.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38670000u) { + insn->mnemonic = "ammax.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38668000u) { + insn->mnemonic = "ammin.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x386f8000u) { + insn->mnemonic = "ammin_db.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38718000u) { + insn->mnemonic = "ammin_db.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x386f0000u) { + insn->mnemonic = "ammin_db.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38710000u) { + insn->mnemonic = "ammin_db.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38688000u) { + insn->mnemonic = "ammin.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38660000u) { + insn->mnemonic = "ammin.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38680000u) { + insn->mnemonic = "ammin.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38638000u) { + insn->mnemonic = "amor.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x386c8000u) { + insn->mnemonic = "amor_db.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x386c0000u) { + insn->mnemonic = "amor_db.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38630000u) { + insn->mnemonic = "amor.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x385c0000u) { + insn->mnemonic = "amswap.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38608000u) { + insn->mnemonic = "amswap.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x385e0000u) { + insn->mnemonic = "amswap_db.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38698000u) { + insn->mnemonic = "amswap_db.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x385e8000u) { + insn->mnemonic = "amswap_db.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38690000u) { + insn->mnemonic = "amswap_db.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x385c8000u) { + insn->mnemonic = "amswap.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38600000u) { + insn->mnemonic = "amswap.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38648000u) { + insn->mnemonic = "amxor.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x386d8000u) { + insn->mnemonic = "amxor_db.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x386d0000u) { + insn->mnemonic = "amxor_db.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38640000u) { + insn->mnemonic = "amxor.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00148000u) { + insn->mnemonic = "and"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffc00000u) == 0x03400000u) { + insn->mnemonic = "andi"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xfff)); + return; + } + if ((word & 0xffff8000u) == 0x00168000u) { + insn->mnemonic = "andn"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8010u) == 0x00380010u) { + insn->mnemonic = "armadc.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 0) & 0xf)); + return; + } + if ((word & 0xffff8010u) == 0x00370010u) { + insn->mnemonic = "armadd.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 0) & 0xf)); + return; + } + if ((word & 0xffff8010u) == 0x00390010u) { + insn->mnemonic = "armand.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 0) & 0xf)); + return; + } + if ((word & 0xfffc03e0u) == 0x005c0040u) { + insn->mnemonic = "armmfflag"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xffffc01fu) == 0x003fc01eu) { + insn->mnemonic = "armmov.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffffc01fu) == 0x003fc01du) { + insn->mnemonic = "armmov.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffffc000u) == 0x00364000u) { + insn->mnemonic = "armmove"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xfffc03e0u) == 0x005c0060u) { + insn->mnemonic = "armmtflag"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xffffc01fu) == 0x003fc01cu) { + insn->mnemonic = "armnot.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff8010u) == 0x00398010u) { + insn->mnemonic = "armor.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 0) & 0xf)); + return; + } + if ((word & 0xffff8010u) == 0x003c0010u) { + insn->mnemonic = "armrotr.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 0) & 0xf)); + return; + } + if ((word & 0xffff8010u) == 0x003e0010u) { + insn->mnemonic = "armrotri.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 0) & 0xf)); + return; + } + if ((word & 0xffffc01fu) == 0x003fc01fu) { + insn->mnemonic = "armrrx.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff8010u) == 0x00388010u) { + insn->mnemonic = "armsbc.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 0) & 0xf)); + return; + } + if ((word & 0xffff8010u) == 0x003a8010u) { + insn->mnemonic = "armsll.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 0) & 0xf)); + return; + } + if ((word & 0xffff8010u) == 0x003c8010u) { + insn->mnemonic = "armslli.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 0) & 0xf)); + return; + } + if ((word & 0xffff8010u) == 0x003b8010u) { + insn->mnemonic = "armsra.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 0) & 0xf)); + return; + } + if ((word & 0xffff8010u) == 0x003d8010u) { + insn->mnemonic = "armsrai.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 0) & 0xf)); + return; + } + if ((word & 0xffff8010u) == 0x003b0010u) { + insn->mnemonic = "armsrl.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 0) & 0xf)); + return; + } + if ((word & 0xffff8010u) == 0x003d0010u) { + insn->mnemonic = "armsrli.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 0) & 0xf)); + return; + } + if ((word & 0xffff8010u) == 0x00378010u) { + insn->mnemonic = "armsub.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 0) & 0xf)); + return; + } + if ((word & 0xffff8010u) == 0x003a0010u) { + insn->mnemonic = "armxor.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 0) & 0xf)); + return; + } + if ((word & 0xffff801fu) == 0x00018000u) { + insn->mnemonic = "asrtgt.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x00010000u) { + insn->mnemonic = "asrtle.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfc000000u) == 0x50000000u) { + insn->mnemonic = "b"; + insn->operand_count = 1; + insn->operands[0].kind = LA_OP_SIMM; + insn->operands[0].simm = ((int32_t)(int32_t)((((word >> 0) & 0x3ff) << 16) | ((word >> 10) & 0xffff)) << 6 >> 6 << 2); + return; + } + if ((word & 0xfc000300u) == 0x48000000u) { + insn->mnemonic = "bceqz"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 5) & 0x7)); + insn->operands[1].kind = LA_OP_SIMM; + insn->operands[1].simm = ((int32_t)(int32_t)((((word >> 0) & 0x1f) << 16) | ((word >> 10) & 0xffff)) << 11 >> 11 << 2); + return; + } + if ((word & 0xfc000300u) == 0x48000100u) { + insn->mnemonic = "bcnez"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 5) & 0x7)); + insn->operands[1].kind = LA_OP_SIMM; + insn->operands[1].simm = ((int32_t)(int32_t)((((word >> 0) & 0x1f) << 16) | ((word >> 10) & 0xffff)) << 11 >> 11 << 2); + return; + } + if ((word & 0xfc000000u) == 0x58000000u) { + insn->mnemonic = "beq"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 0) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xffff) << 16 >> 16 << 2); + return; + } + if ((word & 0xfc000000u) == 0x40000000u) { + insn->mnemonic = "beqz"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_SIMM; + insn->operands[1].simm = ((int32_t)(int32_t)((((word >> 0) & 0x1f) << 16) | ((word >> 10) & 0xffff)) << 11 >> 11 << 2); + return; + } + if ((word & 0xfc000000u) == 0x64000000u) { + insn->mnemonic = "bge"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 0) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xffff) << 16 >> 16 << 2); + return; + } + if ((word & 0xfc000000u) == 0x6c000000u) { + insn->mnemonic = "bgeu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 0) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xffff) << 16 >> 16 << 2); + return; + } + if ((word & 0xfffffc00u) == 0x00004800u) { + insn->mnemonic = "bitrev.4b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x00004c00u) { + insn->mnemonic = "bitrev.8b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x00005400u) { + insn->mnemonic = "bitrev.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x00005000u) { + insn->mnemonic = "bitrev.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfc000000u) == 0x54000000u) { + insn->mnemonic = "bl"; + insn->operand_count = 1; + insn->operands[0].kind = LA_OP_SIMM; + insn->operands[0].simm = ((int32_t)(int32_t)((((word >> 0) & 0x3ff) << 16) | ((word >> 10) & 0xffff)) << 6 >> 6 << 2); + return; + } + if ((word & 0xfc000000u) == 0x60000000u) { + insn->mnemonic = "blt"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 0) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xffff) << 16 >> 16 << 2); + return; + } + if ((word & 0xfc000000u) == 0x68000000u) { + insn->mnemonic = "bltu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 0) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xffff) << 16 >> 16 << 2); + return; + } + if ((word & 0xfc000000u) == 0x5c000000u) { + insn->mnemonic = "bne"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 0) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xffff) << 16 >> 16 << 2); + return; + } + if ((word & 0xfc000000u) == 0x44000000u) { + insn->mnemonic = "bnez"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_SIMM; + insn->operands[1].simm = ((int32_t)(int32_t)((((word >> 0) & 0x1f) << 16) | ((word >> 10) & 0xffff)) << 11 >> 11 << 2); + return; + } + if ((word & 0xffff8000u) == 0x002a0000u) { + insn->mnemonic = "break"; + insn->operand_count = 1; + insn->operands[0].kind = LA_OP_UIMM; + insn->operands[0].uimm = (((word >> 0) & 0x7fff)); + return; + } + if ((word & 0xffc00000u) == 0x00800000u) { + insn->mnemonic = "bstrins.d"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 16) & 0x3f)); + insn->operands[3].kind = LA_OP_UIMM; + insn->operands[3].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffe08000u) == 0x00600000u) { + insn->mnemonic = "bstrins.w"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 16) & 0x1f)); + insn->operands[3].kind = LA_OP_UIMM; + insn->operands[3].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffc00000u) == 0x00c00000u) { + insn->mnemonic = "bstrpick.d"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 16) & 0x3f)); + insn->operands[3].kind = LA_OP_UIMM; + insn->operands[3].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffe08000u) == 0x00608000u) { + insn->mnemonic = "bstrpick.w"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 16) & 0x1f)); + insn->operands[3].kind = LA_OP_UIMM; + insn->operands[3].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffc0000u) == 0x000c0000u) { + insn->mnemonic = "bytepick.d"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_UIMM; + insn->operands[3].uimm = (((word >> 15) & 0x7)); + return; + } + if ((word & 0xfffe0000u) == 0x00080000u) { + insn->mnemonic = "bytepick.w"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_UIMM; + insn->operands[3].uimm = (((word >> 15) & 0x3)); + return; + } + if ((word & 0xffc00000u) == 0x06000000u) { + insn->mnemonic = "cacop"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_UIMM; + insn->operands[0].uimm = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xfffffc00u) == 0x00002000u) { + insn->mnemonic = "clo.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x00001000u) { + insn->mnemonic = "clo.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x00002400u) { + insn->mnemonic = "clz.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x00001400u) { + insn->mnemonic = "clz.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x00006c00u) { + insn->mnemonic = "cpucfg"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00240000u) { + insn->mnemonic = "crc.w.b.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00258000u) { + insn->mnemonic = "crc.w.d.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00248000u) { + insn->mnemonic = "crc.w.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00250000u) { + insn->mnemonic = "crc.w.w.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00260000u) { + insn->mnemonic = "crcc.w.b.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00278000u) { + insn->mnemonic = "crcc.w.d.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00268000u) { + insn->mnemonic = "crcc.w.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00270000u) { + insn->mnemonic = "crcc.w.w.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xff000000u) == 0x04000000u) { + insn->mnemonic = "csrxchg"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3fff)); + return; + } + if ((word & 0xfffffc00u) == 0x00002800u) { + insn->mnemonic = "cto.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x00001800u) { + insn->mnemonic = "cto.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x00002c00u) { + insn->mnemonic = "ctz.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x00001c00u) { + insn->mnemonic = "ctz.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38720000u) { + insn->mnemonic = "dbar"; + insn->operand_count = 1; + insn->operands[0].kind = LA_OP_UIMM; + insn->operands[0].uimm = (((word >> 0) & 0x7fff)); + return; + } + if ((word & 0xffff8000u) == 0x002a8000u) { + insn->mnemonic = "dbcl"; + insn->operand_count = 1; + insn->operands[0].kind = LA_OP_UIMM; + insn->operands[0].uimm = (((word >> 0) & 0x7fff)); + return; + } + if ((word & 0xffff8000u) == 0x00220000u) { + insn->mnemonic = "div.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00230000u) { + insn->mnemonic = "div.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00200000u) { + insn->mnemonic = "div.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00210000u) { + insn->mnemonic = "div.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffffffu) == 0x06483800u) { + insn->mnemonic = "ertn"; + insn->operand_count = 0; + return; + } + if ((word & 0xfffffc00u) == 0x00005c00u) { + insn->mnemonic = "ext.w.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x00005800u) { + insn->mnemonic = "ext.w.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x01140800u) { + insn->mnemonic = "fabs.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x01140400u) { + insn->mnemonic = "fabs.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x01010000u) { + insn->mnemonic = "fadd.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x01008000u) { + insn->mnemonic = "fadd.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x01143800u) { + insn->mnemonic = "fclass.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x01143400u) { + insn->mnemonic = "fclass.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c200000u) { + insn->mnemonic = "fcmp.caf.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c100000u) { + insn->mnemonic = "fcmp.caf.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c220000u) { + insn->mnemonic = "fcmp.ceq.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c120000u) { + insn->mnemonic = "fcmp.ceq.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c230000u) { + insn->mnemonic = "fcmp.cle.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c130000u) { + insn->mnemonic = "fcmp.cle.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c210000u) { + insn->mnemonic = "fcmp.clt.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c110000u) { + insn->mnemonic = "fcmp.clt.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c280000u) { + insn->mnemonic = "fcmp.cne.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c180000u) { + insn->mnemonic = "fcmp.cne.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c2a0000u) { + insn->mnemonic = "fcmp.cor.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c1a0000u) { + insn->mnemonic = "fcmp.cor.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c260000u) { + insn->mnemonic = "fcmp.cueq.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c160000u) { + insn->mnemonic = "fcmp.cueq.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c270000u) { + insn->mnemonic = "fcmp.cule.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c170000u) { + insn->mnemonic = "fcmp.cule.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c250000u) { + insn->mnemonic = "fcmp.cult.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c150000u) { + insn->mnemonic = "fcmp.cult.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c240000u) { + insn->mnemonic = "fcmp.cun.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c140000u) { + insn->mnemonic = "fcmp.cun.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c2c0000u) { + insn->mnemonic = "fcmp.cune.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c1c0000u) { + insn->mnemonic = "fcmp.cune.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c208000u) { + insn->mnemonic = "fcmp.saf.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c108000u) { + insn->mnemonic = "fcmp.saf.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c228000u) { + insn->mnemonic = "fcmp.seq.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c128000u) { + insn->mnemonic = "fcmp.seq.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c238000u) { + insn->mnemonic = "fcmp.sle.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c138000u) { + insn->mnemonic = "fcmp.sle.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c218000u) { + insn->mnemonic = "fcmp.slt.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c118000u) { + insn->mnemonic = "fcmp.slt.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c288000u) { + insn->mnemonic = "fcmp.sne.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c188000u) { + insn->mnemonic = "fcmp.sne.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c2a8000u) { + insn->mnemonic = "fcmp.sor.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c1a8000u) { + insn->mnemonic = "fcmp.sor.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c268000u) { + insn->mnemonic = "fcmp.sueq.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c168000u) { + insn->mnemonic = "fcmp.sueq.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c278000u) { + insn->mnemonic = "fcmp.sule.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c178000u) { + insn->mnemonic = "fcmp.sule.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c258000u) { + insn->mnemonic = "fcmp.sult.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c158000u) { + insn->mnemonic = "fcmp.sult.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c248000u) { + insn->mnemonic = "fcmp.sun.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c148000u) { + insn->mnemonic = "fcmp.sun.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c2c8000u) { + insn->mnemonic = "fcmp.sune.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8018u) == 0x0c1c8000u) { + insn->mnemonic = "fcmp.sune.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x01130000u) { + insn->mnemonic = "fcopysign.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x01128000u) { + insn->mnemonic = "fcopysign.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x01150000u) { + insn->mnemonic = "fcvt.d.ld"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x01192400u) { + insn->mnemonic = "fcvt.d.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x0114e000u) { + insn->mnemonic = "fcvt.ld.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x01191800u) { + insn->mnemonic = "fcvt.s.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x0114e400u) { + insn->mnemonic = "fcvt.ud.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x01070000u) { + insn->mnemonic = "fdiv.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x01068000u) { + insn->mnemonic = "fdiv.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x011d2800u) { + insn->mnemonic = "ffint.d.l"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x011d2000u) { + insn->mnemonic = "ffint.d.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x011d1800u) { + insn->mnemonic = "ffint.s.l"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x011d1000u) { + insn->mnemonic = "ffint.s.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffc00000u) == 0x2b800000u) { + insn->mnemonic = "fld.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xffc00000u) == 0x2b000000u) { + insn->mnemonic = "fld.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xffff8000u) == 0x38748000u) { + insn->mnemonic = "fldgt.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38740000u) { + insn->mnemonic = "fldgt.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38758000u) { + insn->mnemonic = "fldle.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38750000u) { + insn->mnemonic = "fldle.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38340000u) { + insn->mnemonic = "fldx.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38300000u) { + insn->mnemonic = "fldx.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x01142800u) { + insn->mnemonic = "flogb.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x01142400u) { + insn->mnemonic = "flogb.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfff00000u) == 0x08200000u) { + insn->mnemonic = "fmadd.d"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_FPR; + insn->operands[3].fpr = (((word >> 15) & 0x1f)); + return; + } + if ((word & 0xfff00000u) == 0x08100000u) { + insn->mnemonic = "fmadd.s"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_FPR; + insn->operands[3].fpr = (((word >> 15) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x01090000u) { + insn->mnemonic = "fmax.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x01088000u) { + insn->mnemonic = "fmax.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x010d0000u) { + insn->mnemonic = "fmaxa.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x010c8000u) { + insn->mnemonic = "fmaxa.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x010b0000u) { + insn->mnemonic = "fmin.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x010a8000u) { + insn->mnemonic = "fmin.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x010f0000u) { + insn->mnemonic = "fmina.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x010e8000u) { + insn->mnemonic = "fmina.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x01149800u) { + insn->mnemonic = "fmov.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x01149400u) { + insn->mnemonic = "fmov.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfff00000u) == 0x08600000u) { + insn->mnemonic = "fmsub.d"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_FPR; + insn->operands[3].fpr = (((word >> 15) & 0x1f)); + return; + } + if ((word & 0xfff00000u) == 0x08500000u) { + insn->mnemonic = "fmsub.s"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_FPR; + insn->operands[3].fpr = (((word >> 15) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x01050000u) { + insn->mnemonic = "fmul.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x01048000u) { + insn->mnemonic = "fmul.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x01141800u) { + insn->mnemonic = "fneg.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x01141400u) { + insn->mnemonic = "fneg.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfff00000u) == 0x08a00000u) { + insn->mnemonic = "fnmadd.d"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_FPR; + insn->operands[3].fpr = (((word >> 15) & 0x1f)); + return; + } + if ((word & 0xfff00000u) == 0x08900000u) { + insn->mnemonic = "fnmadd.s"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_FPR; + insn->operands[3].fpr = (((word >> 15) & 0x1f)); + return; + } + if ((word & 0xfff00000u) == 0x08e00000u) { + insn->mnemonic = "fnmsub.d"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_FPR; + insn->operands[3].fpr = (((word >> 15) & 0x1f)); + return; + } + if ((word & 0xfff00000u) == 0x08d00000u) { + insn->mnemonic = "fnmsub.s"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_FPR; + insn->operands[3].fpr = (((word >> 15) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x01145800u) { + insn->mnemonic = "frecip.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x01145400u) { + insn->mnemonic = "frecip.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x01147800u) { + insn->mnemonic = "frecipe.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x01147400u) { + insn->mnemonic = "frecipe.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x011e4800u) { + insn->mnemonic = "frint.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x011e4400u) { + insn->mnemonic = "frint.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x01146800u) { + insn->mnemonic = "frsqrt.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x01146400u) { + insn->mnemonic = "frsqrt.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x01148800u) { + insn->mnemonic = "frsqrte.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x01148400u) { + insn->mnemonic = "frsqrte.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x01110000u) { + insn->mnemonic = "fscaleb.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x01108000u) { + insn->mnemonic = "fscaleb.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffc0000u) == 0x0d000000u) { + insn->mnemonic = "fsel"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_FCC; + insn->operands[3].fcc = (((word >> 15) & 0x7)); + return; + } + if ((word & 0xfffffc00u) == 0x01144800u) { + insn->mnemonic = "fsqrt.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x01144400u) { + insn->mnemonic = "fsqrt.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffc00000u) == 0x2bc00000u) { + insn->mnemonic = "fst.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xffc00000u) == 0x2b400000u) { + insn->mnemonic = "fst.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xffff8000u) == 0x38768000u) { + insn->mnemonic = "fstgt.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38760000u) { + insn->mnemonic = "fstgt.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38778000u) { + insn->mnemonic = "fstle.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38770000u) { + insn->mnemonic = "fstle.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x383c0000u) { + insn->mnemonic = "fstx.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38380000u) { + insn->mnemonic = "fstx.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x01030000u) { + insn->mnemonic = "fsub.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x01028000u) { + insn->mnemonic = "fsub.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_FPR; + insn->operands[2].fpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x011b2800u) { + insn->mnemonic = "ftint.l.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x011b2400u) { + insn->mnemonic = "ftint.l.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x011b0800u) { + insn->mnemonic = "ftint.w.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x011b0400u) { + insn->mnemonic = "ftint.w.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x011a2800u) { + insn->mnemonic = "ftintrm.l.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x011a2400u) { + insn->mnemonic = "ftintrm.l.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x011a0800u) { + insn->mnemonic = "ftintrm.w.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x011a0400u) { + insn->mnemonic = "ftintrm.w.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x011ae800u) { + insn->mnemonic = "ftintrne.l.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x011ae400u) { + insn->mnemonic = "ftintrne.l.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x011ac800u) { + insn->mnemonic = "ftintrne.w.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x011ac400u) { + insn->mnemonic = "ftintrne.w.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x011a6800u) { + insn->mnemonic = "ftintrp.l.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x011a6400u) { + insn->mnemonic = "ftintrp.l.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x011a4800u) { + insn->mnemonic = "ftintrp.w.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x011a4400u) { + insn->mnemonic = "ftintrp.w.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x011aa800u) { + insn->mnemonic = "ftintrz.l.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x011aa400u) { + insn->mnemonic = "ftintrz.l.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x011a8800u) { + insn->mnemonic = "ftintrz.w.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x011a8400u) { + insn->mnemonic = "ftintrz.w.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xff000000u) == 0x05000000u) { + insn->mnemonic = "gcsrxchg"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3fff)); + return; + } + if ((word & 0xffffffffu) == 0x06482001u) { + insn->mnemonic = "gtlbclr"; + insn->operand_count = 0; + return; + } + if ((word & 0xffffffffu) == 0x06483401u) { + insn->mnemonic = "gtlbfill"; + insn->operand_count = 0; + return; + } + if ((word & 0xffffffffu) == 0x06482401u) { + insn->mnemonic = "gtlbflush"; + insn->operand_count = 0; + return; + } + if ((word & 0xffffffffu) == 0x06482c01u) { + insn->mnemonic = "gtlbrd"; + insn->operand_count = 0; + return; + } + if ((word & 0xffffffffu) == 0x06482801u) { + insn->mnemonic = "gtlbsrch"; + insn->operand_count = 0; + return; + } + if ((word & 0xffffffffu) == 0x06483001u) { + insn->mnemonic = "gtlbwr"; + insn->operand_count = 0; + return; + } + if ((word & 0xffff8000u) == 0x002b8000u) { + insn->mnemonic = "hvcl"; + insn->operand_count = 1; + insn->operands[0].kind = LA_OP_UIMM; + insn->operands[0].uimm = (((word >> 0) & 0x7fff)); + return; + } + if ((word & 0xffff8000u) == 0x38728000u) { + insn->mnemonic = "ibar"; + insn->operand_count = 1; + insn->operands[0].kind = LA_OP_UIMM; + insn->operands[0].uimm = (((word >> 0) & 0x7fff)); + return; + } + if ((word & 0xffff8000u) == 0x06488000u) { + insn->mnemonic = "idle"; + insn->operand_count = 1; + insn->operands[0].kind = LA_OP_UIMM; + insn->operands[0].uimm = (((word >> 0) & 0x7fff)); + return; + } + if ((word & 0xffff8000u) == 0x06498000u) { + insn->mnemonic = "invtlb"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_UIMM; + insn->operands[0].uimm = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x06480000u) { + insn->mnemonic = "iocsrrd.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x06480c00u) { + insn->mnemonic = "iocsrrd.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x06480400u) { + insn->mnemonic = "iocsrrd.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x06480800u) { + insn->mnemonic = "iocsrrd.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x06481000u) { + insn->mnemonic = "iocsrwr.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x06481c00u) { + insn->mnemonic = "iocsrwr.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x06481400u) { + insn->mnemonic = "iocsrwr.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x06481800u) { + insn->mnemonic = "iocsrwr.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfc000000u) == 0x4c000000u) { + insn->mnemonic = "jirl"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xffff) << 16 >> 16 << 2); + return; + } + if ((word & 0xfc0003e0u) == 0x48000200u) { + insn->mnemonic = "jiscr0"; + insn->operand_count = 1; + insn->operands[0].kind = LA_OP_SIMM; + insn->operands[0].simm = ((int32_t)(int32_t)((((word >> 0) & 0x1f) << 16) | ((word >> 10) & 0xffff)) << 11 >> 11 << 2); + return; + } + if ((word & 0xfc0003e0u) == 0x48000300u) { + insn->mnemonic = "jiscr1"; + insn->operand_count = 1; + insn->operands[0].kind = LA_OP_SIMM; + insn->operands[0].simm = ((int32_t)(int32_t)((((word >> 0) & 0x1f) << 16) | ((word >> 10) & 0xffff)) << 11 >> 11 << 2); + return; + } + if ((word & 0xffc00000u) == 0x28000000u) { + insn->mnemonic = "ld.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xffc00000u) == 0x2a000000u) { + insn->mnemonic = "ld.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xffc00000u) == 0x28c00000u) { + insn->mnemonic = "ld.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xffc00000u) == 0x28400000u) { + insn->mnemonic = "ld.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xffc00000u) == 0x2a400000u) { + insn->mnemonic = "ld.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xffc00000u) == 0x28800000u) { + insn->mnemonic = "ld.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xffc00000u) == 0x2a800000u) { + insn->mnemonic = "ld.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xfffc0000u) == 0x06400000u) { + insn->mnemonic = "lddir"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xffff8000u) == 0x38780000u) { + insn->mnemonic = "ldgt.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38798000u) { + insn->mnemonic = "ldgt.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38788000u) { + insn->mnemonic = "ldgt.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38790000u) { + insn->mnemonic = "ldgt.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffc00000u) == 0x2e800000u) { + insn->mnemonic = "ldl.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xffc00000u) == 0x2e000000u) { + insn->mnemonic = "ldl.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xffff8000u) == 0x387a0000u) { + insn->mnemonic = "ldle.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x387b8000u) { + insn->mnemonic = "ldle.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x387a8000u) { + insn->mnemonic = "ldle.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x387b0000u) { + insn->mnemonic = "ldle.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffc001fu) == 0x06440000u) { + insn->mnemonic = "ldpte"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xff000000u) == 0x26000000u) { + insn->mnemonic = "ldptr.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x3fff) << 18 >> 18 << 2); + return; + } + if ((word & 0xff000000u) == 0x24000000u) { + insn->mnemonic = "ldptr.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x3fff) << 18 >> 18 << 2); + return; + } + if ((word & 0xffc00000u) == 0x2ec00000u) { + insn->mnemonic = "ldr.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xffc00000u) == 0x2e400000u) { + insn->mnemonic = "ldr.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xffff8000u) == 0x38000000u) { + insn->mnemonic = "ldx.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38200000u) { + insn->mnemonic = "ldx.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x380c0000u) { + insn->mnemonic = "ldx.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38040000u) { + insn->mnemonic = "ldx.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38240000u) { + insn->mnemonic = "ldx.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38080000u) { + insn->mnemonic = "ldx.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38280000u) { + insn->mnemonic = "ldx.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xff000000u) == 0x22000000u) { + insn->mnemonic = "ll.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x3fff) << 18 >> 18 << 2); + return; + } + if ((word & 0xff000000u) == 0x20000000u) { + insn->mnemonic = "ll.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x3fff) << 18 >> 18 << 2); + return; + } + if ((word & 0xfffffc00u) == 0x38578800u) { + insn->mnemonic = "llacq.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x38578000u) { + insn->mnemonic = "llacq.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfe000000u) == 0x14000000u) { + insn->mnemonic = "lu12i.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_SIMM; + insn->operands[1].simm = ((int32_t)((word >> 5) & 0xfffff) << 12 >> 12); + return; + } + if ((word & 0xfe000000u) == 0x16000000u) { + insn->mnemonic = "lu32i.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_SIMM; + insn->operands[1].simm = ((int32_t)((word >> 5) & 0xfffff) << 12 >> 12); + return; + } + if ((word & 0xffc00000u) == 0x03000000u) { + insn->mnemonic = "lu52i.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xffff8000u) == 0x00130000u) { + insn->mnemonic = "maskeqz"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00138000u) { + insn->mnemonic = "masknez"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00228000u) { + insn->mnemonic = "mod.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00238000u) { + insn->mnemonic = "mod.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00208000u) { + insn->mnemonic = "mod.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00218000u) { + insn->mnemonic = "mod.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffff00u) == 0x0114d400u) { + insn->mnemonic = "movcf2fr"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FCC; + insn->operands[1].fcc = (((word >> 5) & 0x7)); + return; + } + if ((word & 0xffffff00u) == 0x0114dc00u) { + insn->mnemonic = "movcf2gr"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FCC; + insn->operands[1].fcc = (((word >> 5) & 0x7)); + return; + } + if ((word & 0xfffffc00u) == 0x0114c800u) { + insn->mnemonic = "movfcsr2gr"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FCSR; + insn->operands[1].fcsr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc18u) == 0x0114d000u) { + insn->mnemonic = "movfr2cf"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x0114b800u) { + insn->mnemonic = "movfr2gr.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x0114b400u) { + insn->mnemonic = "movfr2gr.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x0114bc00u) { + insn->mnemonic = "movfrh2gr.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_FPR; + insn->operands[1].fpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc18u) == 0x0114d800u) { + insn->mnemonic = "movgr2cf"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x0114c000u) { + insn->mnemonic = "movgr2fcsr"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FCSR; + insn->operands[0].fcsr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x0114a800u) { + insn->mnemonic = "movgr2fr.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x0114a400u) { + insn->mnemonic = "movgr2fr.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x0114ac00u) { + insn->mnemonic = "movgr2frh.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FPR; + insn->operands[0].fpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc1cu) == 0x00000800u) { + insn->mnemonic = "movgr2scr"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_SCR; + insn->operands[0].scr = (((word >> 0) & 0x3)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffffff80u) == 0x00000c00u) { + insn->mnemonic = "movscr2gr"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_SCR; + insn->operands[1].scr = (((word >> 5) & 0x3)); + return; + } + if ((word & 0xffff8000u) == 0x001d8000u) { + insn->mnemonic = "mul.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x001c0000u) { + insn->mnemonic = "mul.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x001e0000u) { + insn->mnemonic = "mulh.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x001e8000u) { + insn->mnemonic = "mulh.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x001c8000u) { + insn->mnemonic = "mulh.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x001d0000u) { + insn->mnemonic = "mulh.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x001f0000u) { + insn->mnemonic = "mulw.d.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x001f8000u) { + insn->mnemonic = "mulw.d.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00140000u) { + insn->mnemonic = "nor"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00150000u) { + insn->mnemonic = "or"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffc00000u) == 0x03800000u) { + insn->mnemonic = "ori"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xfff)); + return; + } + if ((word & 0xffff8000u) == 0x00160000u) { + insn->mnemonic = "orn"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfe000000u) == 0x18000000u) { + insn->mnemonic = "pcaddi"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_SIMM; + insn->operands[1].simm = ((int32_t)((word >> 5) & 0xfffff) << 12 >> 12); + return; + } + if ((word & 0xfe000000u) == 0x1c000000u) { + insn->mnemonic = "pcaddu12i"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_SIMM; + insn->operands[1].simm = ((int32_t)((word >> 5) & 0xfffff) << 12 >> 12); + return; + } + if ((word & 0xfe000000u) == 0x1e000000u) { + insn->mnemonic = "pcaddu18i"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_SIMM; + insn->operands[1].simm = ((int32_t)((word >> 5) & 0xfffff) << 12 >> 12); + return; + } + if ((word & 0xfe000000u) == 0x1a000000u) { + insn->mnemonic = "pcalau12i"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_SIMM; + insn->operands[1].simm = ((int32_t)((word >> 5) & 0xfffff) << 12 >> 12); + return; + } + if ((word & 0xffc00000u) == 0x2ac00000u) { + insn->mnemonic = "preld"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_UIMM; + insn->operands[0].uimm = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xffff8000u) == 0x382c0000u) { + insn->mnemonic = "preldx"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_UIMM; + insn->operands[0].uimm = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00340000u) { + insn->mnemonic = "rcr.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00358000u) { + insn->mnemonic = "rcr.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00348000u) { + insn->mnemonic = "rcr.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00350000u) { + insn->mnemonic = "rcr.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffe000u) == 0x00502000u) { + insn->mnemonic = "rcri.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffff0000u) == 0x00510000u) { + insn->mnemonic = "rcri.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffffc000u) == 0x00504000u) { + insn->mnemonic = "rcri.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff8000u) == 0x00508000u) { + insn->mnemonic = "rcri.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x00006800u) { + insn->mnemonic = "rdtime.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x00006400u) { + insn->mnemonic = "rdtimeh.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x00006000u) { + insn->mnemonic = "rdtimel.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x00003000u) { + insn->mnemonic = "revb.2h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x00003800u) { + insn->mnemonic = "revb.2w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x00003400u) { + insn->mnemonic = "revb.4h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x00003c00u) { + insn->mnemonic = "revb.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x00004000u) { + insn->mnemonic = "revh.2w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x00004400u) { + insn->mnemonic = "revh.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x001a0000u) { + insn->mnemonic = "rotr.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x001b8000u) { + insn->mnemonic = "rotr.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x001a8000u) { + insn->mnemonic = "rotr.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x001b0000u) { + insn->mnemonic = "rotr.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffe000u) == 0x004c2000u) { + insn->mnemonic = "rotri.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffff0000u) == 0x004d0000u) { + insn->mnemonic = "rotri.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffffc000u) == 0x004c4000u) { + insn->mnemonic = "rotri.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff8000u) == 0x004c8000u) { + insn->mnemonic = "rotri.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00320000u) { + insn->mnemonic = "sbc.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00338000u) { + insn->mnemonic = "sbc.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00328000u) { + insn->mnemonic = "sbc.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00330000u) { + insn->mnemonic = "sbc.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xff000000u) == 0x23000000u) { + insn->mnemonic = "sc.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x3fff) << 18 >> 18 << 2); + return; + } + if ((word & 0xffff8000u) == 0x38570000u) { + insn->mnemonic = "sc.q"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xff000000u) == 0x21000000u) { + insn->mnemonic = "sc.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x3fff) << 18 >> 18 << 2); + return; + } + if ((word & 0xfffffc00u) == 0x38578c00u) { + insn->mnemonic = "screl.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x38578400u) { + insn->mnemonic = "screl.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffffc3e0u) == 0x0036c000u) { + insn->mnemonic = "setarmj"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffffc3e0u) == 0x00368000u) { + insn->mnemonic = "setx86j"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xfffffc00u) == 0x00007800u) { + insn->mnemonic = "setx86loope"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x00007c00u) { + insn->mnemonic = "setx86loopne"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00188000u) { + insn->mnemonic = "sll.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00170000u) { + insn->mnemonic = "sll.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff0000u) == 0x00410000u) { + insn->mnemonic = "slli.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffff8000u) == 0x00408000u) { + insn->mnemonic = "slli.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00120000u) { + insn->mnemonic = "slt"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffc00000u) == 0x02000000u) { + insn->mnemonic = "slti"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xffff8000u) == 0x00128000u) { + insn->mnemonic = "sltu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffc00000u) == 0x02400000u) { + insn->mnemonic = "sltui"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xffff8000u) == 0x00198000u) { + insn->mnemonic = "sra.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00180000u) { + insn->mnemonic = "sra.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff0000u) == 0x00490000u) { + insn->mnemonic = "srai.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffff8000u) == 0x00488000u) { + insn->mnemonic = "srai.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00190000u) { + insn->mnemonic = "srl.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00178000u) { + insn->mnemonic = "srl.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff0000u) == 0x00450000u) { + insn->mnemonic = "srli.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffff8000u) == 0x00448000u) { + insn->mnemonic = "srli.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffc00000u) == 0x29000000u) { + insn->mnemonic = "st.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xffc00000u) == 0x29c00000u) { + insn->mnemonic = "st.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xffc00000u) == 0x29400000u) { + insn->mnemonic = "st.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xffc00000u) == 0x29800000u) { + insn->mnemonic = "st.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xffff8000u) == 0x387c0000u) { + insn->mnemonic = "stgt.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x387d8000u) { + insn->mnemonic = "stgt.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x387c8000u) { + insn->mnemonic = "stgt.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x387d0000u) { + insn->mnemonic = "stgt.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffc00000u) == 0x2f800000u) { + insn->mnemonic = "stl.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xffc00000u) == 0x2f000000u) { + insn->mnemonic = "stl.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xffff8000u) == 0x387e0000u) { + insn->mnemonic = "stle.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x387f8000u) { + insn->mnemonic = "stle.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x387e8000u) { + insn->mnemonic = "stle.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x387f0000u) { + insn->mnemonic = "stle.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xff000000u) == 0x27000000u) { + insn->mnemonic = "stptr.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x3fff) << 18 >> 18 << 2); + return; + } + if ((word & 0xff000000u) == 0x25000000u) { + insn->mnemonic = "stptr.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x3fff) << 18 >> 18 << 2); + return; + } + if ((word & 0xffc00000u) == 0x2fc00000u) { + insn->mnemonic = "str.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xffc00000u) == 0x2f400000u) { + insn->mnemonic = "str.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xffff8000u) == 0x38100000u) { + insn->mnemonic = "stx.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x381c0000u) { + insn->mnemonic = "stx.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38140000u) { + insn->mnemonic = "stx.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x38180000u) { + insn->mnemonic = "stx.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00118000u) { + insn->mnemonic = "sub.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00110000u) { + insn->mnemonic = "sub.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x002b0000u) { + insn->mnemonic = "syscall"; + insn->operand_count = 1; + insn->operands[0].kind = LA_OP_UIMM; + insn->operands[0].uimm = (((word >> 0) & 0x7fff)); + return; + } + if ((word & 0xffffffffu) == 0x06482000u) { + insn->mnemonic = "tlbclr"; + insn->operand_count = 0; + return; + } + if ((word & 0xffffffffu) == 0x06483400u) { + insn->mnemonic = "tlbfill"; + insn->operand_count = 0; + return; + } + if ((word & 0xffffffffu) == 0x06482400u) { + insn->mnemonic = "tlbflush"; + insn->operand_count = 0; + return; + } + if ((word & 0xffffffffu) == 0x06482c00u) { + insn->mnemonic = "tlbrd"; + insn->operand_count = 0; + return; + } + if ((word & 0xffffffffu) == 0x06482800u) { + insn->mnemonic = "tlbsrch"; + insn->operand_count = 0; + return; + } + if ((word & 0xffffffffu) == 0x06483000u) { + insn->mnemonic = "tlbwr"; + insn->operand_count = 0; + return; + } + if ((word & 0xffff8000u) == 0x70600000u) { + insn->mnemonic = "vabsd.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70620000u) { + insn->mnemonic = "vabsd.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70618000u) { + insn->mnemonic = "vabsd.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70638000u) { + insn->mnemonic = "vabsd.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70608000u) { + insn->mnemonic = "vabsd.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70628000u) { + insn->mnemonic = "vabsd.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70610000u) { + insn->mnemonic = "vabsd.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70630000u) { + insn->mnemonic = "vabsd.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x700a0000u) { + insn->mnemonic = "vadd.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x700b8000u) { + insn->mnemonic = "vadd.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x700a8000u) { + insn->mnemonic = "vadd.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x712d0000u) { + insn->mnemonic = "vadd.q"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x700b0000u) { + insn->mnemonic = "vadd.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x705c0000u) { + insn->mnemonic = "vadda.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x705d8000u) { + insn->mnemonic = "vadda.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x705c8000u) { + insn->mnemonic = "vadda.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x705d0000u) { + insn->mnemonic = "vadda.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x728a0000u) { + insn->mnemonic = "vaddi.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x728b8000u) { + insn->mnemonic = "vaddi.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x728a8000u) { + insn->mnemonic = "vaddi.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x728b0000u) { + insn->mnemonic = "vaddi.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x701f0000u) { + insn->mnemonic = "vaddwev.d.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x702f0000u) { + insn->mnemonic = "vaddwev.d.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x703f0000u) { + insn->mnemonic = "vaddwev.d.wu.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x701e0000u) { + insn->mnemonic = "vaddwev.h.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x702e0000u) { + insn->mnemonic = "vaddwev.h.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x703e0000u) { + insn->mnemonic = "vaddwev.h.bu.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x701f8000u) { + insn->mnemonic = "vaddwev.q.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x702f8000u) { + insn->mnemonic = "vaddwev.q.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x703f8000u) { + insn->mnemonic = "vaddwev.q.du.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x701e8000u) { + insn->mnemonic = "vaddwev.w.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x702e8000u) { + insn->mnemonic = "vaddwev.w.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x703e8000u) { + insn->mnemonic = "vaddwev.w.hu.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70230000u) { + insn->mnemonic = "vaddwod.d.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70330000u) { + insn->mnemonic = "vaddwod.d.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70410000u) { + insn->mnemonic = "vaddwod.d.wu.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70220000u) { + insn->mnemonic = "vaddwod.h.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70320000u) { + insn->mnemonic = "vaddwod.h.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70400000u) { + insn->mnemonic = "vaddwod.h.bu.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70238000u) { + insn->mnemonic = "vaddwod.q.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70338000u) { + insn->mnemonic = "vaddwod.q.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70418000u) { + insn->mnemonic = "vaddwod.q.du.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70228000u) { + insn->mnemonic = "vaddwod.w.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70328000u) { + insn->mnemonic = "vaddwod.w.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70408000u) { + insn->mnemonic = "vaddwod.w.hu.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71260000u) { + insn->mnemonic = "vand.v"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffc0000u) == 0x73d00000u) { + insn->mnemonic = "vandi.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xffff8000u) == 0x71280000u) { + insn->mnemonic = "vandn.v"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70640000u) { + insn->mnemonic = "vavg.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70660000u) { + insn->mnemonic = "vavg.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70658000u) { + insn->mnemonic = "vavg.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70678000u) { + insn->mnemonic = "vavg.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70648000u) { + insn->mnemonic = "vavg.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70668000u) { + insn->mnemonic = "vavg.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70650000u) { + insn->mnemonic = "vavg.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70670000u) { + insn->mnemonic = "vavg.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70680000u) { + insn->mnemonic = "vavgr.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x706a0000u) { + insn->mnemonic = "vavgr.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70698000u) { + insn->mnemonic = "vavgr.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x706b8000u) { + insn->mnemonic = "vavgr.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70688000u) { + insn->mnemonic = "vavgr.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x706a8000u) { + insn->mnemonic = "vavgr.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70690000u) { + insn->mnemonic = "vavgr.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x706b0000u) { + insn->mnemonic = "vavgr.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x710c0000u) { + insn->mnemonic = "vbitclr.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x710d8000u) { + insn->mnemonic = "vbitclr.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x710c8000u) { + insn->mnemonic = "vbitclr.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x710d0000u) { + insn->mnemonic = "vbitclr.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffe000u) == 0x73102000u) { + insn->mnemonic = "vbitclri.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffff0000u) == 0x73110000u) { + insn->mnemonic = "vbitclri.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffffc000u) == 0x73104000u) { + insn->mnemonic = "vbitclri.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff8000u) == 0x73108000u) { + insn->mnemonic = "vbitclri.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71100000u) { + insn->mnemonic = "vbitrev.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71118000u) { + insn->mnemonic = "vbitrev.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71108000u) { + insn->mnemonic = "vbitrev.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71110000u) { + insn->mnemonic = "vbitrev.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffe000u) == 0x73182000u) { + insn->mnemonic = "vbitrevi.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffff0000u) == 0x73190000u) { + insn->mnemonic = "vbitrevi.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffffc000u) == 0x73184000u) { + insn->mnemonic = "vbitrevi.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff8000u) == 0x73188000u) { + insn->mnemonic = "vbitrevi.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfff00000u) == 0x0d100000u) { + insn->mnemonic = "vbitsel.v"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_VPR; + insn->operands[3].vpr = (((word >> 15) & 0x1f)); + return; + } + if ((word & 0xfffc0000u) == 0x73c40000u) { + insn->mnemonic = "vbitseli.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xffff8000u) == 0x710e0000u) { + insn->mnemonic = "vbitset.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x710f8000u) { + insn->mnemonic = "vbitset.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x710e8000u) { + insn->mnemonic = "vbitset.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x710f0000u) { + insn->mnemonic = "vbitset.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffe000u) == 0x73142000u) { + insn->mnemonic = "vbitseti.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffff0000u) == 0x73150000u) { + insn->mnemonic = "vbitseti.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffffc000u) == 0x73144000u) { + insn->mnemonic = "vbitseti.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff8000u) == 0x73148000u) { + insn->mnemonic = "vbitseti.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x728e0000u) { + insn->mnemonic = "vbsll.v"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x728e8000u) { + insn->mnemonic = "vbsrl.v"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729c0000u) { + insn->mnemonic = "vclo.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729c0c00u) { + insn->mnemonic = "vclo.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729c0400u) { + insn->mnemonic = "vclo.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729c0800u) { + insn->mnemonic = "vclo.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729c1000u) { + insn->mnemonic = "vclz.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729c1c00u) { + insn->mnemonic = "vclz.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729c1400u) { + insn->mnemonic = "vclz.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729c1800u) { + insn->mnemonic = "vclz.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70e00000u) { + insn->mnemonic = "vdiv.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70e40000u) { + insn->mnemonic = "vdiv.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70e18000u) { + insn->mnemonic = "vdiv.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70e58000u) { + insn->mnemonic = "vdiv.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70e08000u) { + insn->mnemonic = "vdiv.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70e48000u) { + insn->mnemonic = "vdiv.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70e10000u) { + insn->mnemonic = "vdiv.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70e50000u) { + insn->mnemonic = "vdiv.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769f1800u) { + insn->mnemonic = "vext2xv.d.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769f2000u) { + insn->mnemonic = "vext2xv.d.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769f2400u) { + insn->mnemonic = "vext2xv.d.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769f3000u) { + insn->mnemonic = "vext2xv.du.bu"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769f3800u) { + insn->mnemonic = "vext2xv.du.hu"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769f3c00u) { + insn->mnemonic = "vext2xv.du.wu"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769f1000u) { + insn->mnemonic = "vext2xv.h.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769f2800u) { + insn->mnemonic = "vext2xv.hu.bu"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769f1400u) { + insn->mnemonic = "vext2xv.w.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769f1c00u) { + insn->mnemonic = "vext2xv.w.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769f2c00u) { + insn->mnemonic = "vext2xv.wu.bu"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769f3400u) { + insn->mnemonic = "vext2xv.wu.hu"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729ee800u) { + insn->mnemonic = "vexth.d.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729ef800u) { + insn->mnemonic = "vexth.du.wu"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729ee000u) { + insn->mnemonic = "vexth.h.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729ef000u) { + insn->mnemonic = "vexth.hu.bu"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729eec00u) { + insn->mnemonic = "vexth.q.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729efc00u) { + insn->mnemonic = "vexth.qu.du"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729ee400u) { + insn->mnemonic = "vexth.w.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729ef400u) { + insn->mnemonic = "vexth.wu.hu"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x73090000u) { + insn->mnemonic = "vextl.q.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x730d0000u) { + insn->mnemonic = "vextl.qu.du"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffc0000u) == 0x738c0000u) { + insn->mnemonic = "vextrins.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xfffc0000u) == 0x73800000u) { + insn->mnemonic = "vextrins.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xfffc0000u) == 0x73880000u) { + insn->mnemonic = "vextrins.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xfffc0000u) == 0x73840000u) { + insn->mnemonic = "vextrins.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xffff8000u) == 0x71310000u) { + insn->mnemonic = "vfadd.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71308000u) { + insn->mnemonic = "vfadd.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729cd800u) { + insn->mnemonic = "vfclass.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729cd400u) { + insn->mnemonic = "vfclass.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c600000u) { + insn->mnemonic = "vfcmp.caf.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c500000u) { + insn->mnemonic = "vfcmp.caf.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c620000u) { + insn->mnemonic = "vfcmp.ceq.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c520000u) { + insn->mnemonic = "vfcmp.ceq.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c630000u) { + insn->mnemonic = "vfcmp.cle.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c530000u) { + insn->mnemonic = "vfcmp.cle.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c610000u) { + insn->mnemonic = "vfcmp.clt.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c510000u) { + insn->mnemonic = "vfcmp.clt.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c680000u) { + insn->mnemonic = "vfcmp.cne.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c580000u) { + insn->mnemonic = "vfcmp.cne.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c6a0000u) { + insn->mnemonic = "vfcmp.cor.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c5a0000u) { + insn->mnemonic = "vfcmp.cor.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c660000u) { + insn->mnemonic = "vfcmp.cueq.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c560000u) { + insn->mnemonic = "vfcmp.cueq.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c670000u) { + insn->mnemonic = "vfcmp.cule.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c570000u) { + insn->mnemonic = "vfcmp.cule.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c650000u) { + insn->mnemonic = "vfcmp.cult.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c550000u) { + insn->mnemonic = "vfcmp.cult.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c640000u) { + insn->mnemonic = "vfcmp.cun.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c540000u) { + insn->mnemonic = "vfcmp.cun.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c6c0000u) { + insn->mnemonic = "vfcmp.cune.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c5c0000u) { + insn->mnemonic = "vfcmp.cune.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c608000u) { + insn->mnemonic = "vfcmp.saf.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c508000u) { + insn->mnemonic = "vfcmp.saf.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c628000u) { + insn->mnemonic = "vfcmp.seq.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c528000u) { + insn->mnemonic = "vfcmp.seq.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c638000u) { + insn->mnemonic = "vfcmp.sle.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c538000u) { + insn->mnemonic = "vfcmp.sle.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c618000u) { + insn->mnemonic = "vfcmp.slt.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c518000u) { + insn->mnemonic = "vfcmp.slt.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c688000u) { + insn->mnemonic = "vfcmp.sne.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c588000u) { + insn->mnemonic = "vfcmp.sne.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c6a8000u) { + insn->mnemonic = "vfcmp.sor.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c5a8000u) { + insn->mnemonic = "vfcmp.sor.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c668000u) { + insn->mnemonic = "vfcmp.sueq.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c568000u) { + insn->mnemonic = "vfcmp.sueq.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c678000u) { + insn->mnemonic = "vfcmp.sule.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c578000u) { + insn->mnemonic = "vfcmp.sule.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c658000u) { + insn->mnemonic = "vfcmp.sult.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c558000u) { + insn->mnemonic = "vfcmp.sult.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c648000u) { + insn->mnemonic = "vfcmp.sun.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c548000u) { + insn->mnemonic = "vfcmp.sun.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c6c8000u) { + insn->mnemonic = "vfcmp.sune.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c5c8000u) { + insn->mnemonic = "vfcmp.sune.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71460000u) { + insn->mnemonic = "vfcvt.h.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71468000u) { + insn->mnemonic = "vfcvt.s.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729df400u) { + insn->mnemonic = "vfcvth.d.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729dec00u) { + insn->mnemonic = "vfcvth.s.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729df000u) { + insn->mnemonic = "vfcvtl.d.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729de800u) { + insn->mnemonic = "vfcvtl.s.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x713b0000u) { + insn->mnemonic = "vfdiv.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x713a8000u) { + insn->mnemonic = "vfdiv.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729e0800u) { + insn->mnemonic = "vffint.d.l"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729e0c00u) { + insn->mnemonic = "vffint.d.lu"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71480000u) { + insn->mnemonic = "vffint.s.l"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729e0000u) { + insn->mnemonic = "vffint.s.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729e0400u) { + insn->mnemonic = "vffint.s.wu"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729e1400u) { + insn->mnemonic = "vffinth.d.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729e1000u) { + insn->mnemonic = "vffintl.d.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729cc800u) { + insn->mnemonic = "vflogb.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729cc400u) { + insn->mnemonic = "vflogb.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfff00000u) == 0x09200000u) { + insn->mnemonic = "vfmadd.d"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_VPR; + insn->operands[3].vpr = (((word >> 15) & 0x1f)); + return; + } + if ((word & 0xfff00000u) == 0x09100000u) { + insn->mnemonic = "vfmadd.s"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_VPR; + insn->operands[3].vpr = (((word >> 15) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x713d0000u) { + insn->mnemonic = "vfmax.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x713c8000u) { + insn->mnemonic = "vfmax.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71410000u) { + insn->mnemonic = "vfmaxa.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71408000u) { + insn->mnemonic = "vfmaxa.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x713f0000u) { + insn->mnemonic = "vfmin.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x713e8000u) { + insn->mnemonic = "vfmin.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71430000u) { + insn->mnemonic = "vfmina.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71428000u) { + insn->mnemonic = "vfmina.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfff00000u) == 0x09600000u) { + insn->mnemonic = "vfmsub.d"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_VPR; + insn->operands[3].vpr = (((word >> 15) & 0x1f)); + return; + } + if ((word & 0xfff00000u) == 0x09500000u) { + insn->mnemonic = "vfmsub.s"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_VPR; + insn->operands[3].vpr = (((word >> 15) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71390000u) { + insn->mnemonic = "vfmul.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71388000u) { + insn->mnemonic = "vfmul.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfff00000u) == 0x09a00000u) { + insn->mnemonic = "vfnmadd.d"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_VPR; + insn->operands[3].vpr = (((word >> 15) & 0x1f)); + return; + } + if ((word & 0xfff00000u) == 0x09900000u) { + insn->mnemonic = "vfnmadd.s"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_VPR; + insn->operands[3].vpr = (((word >> 15) & 0x1f)); + return; + } + if ((word & 0xfff00000u) == 0x09e00000u) { + insn->mnemonic = "vfnmsub.d"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_VPR; + insn->operands[3].vpr = (((word >> 15) & 0x1f)); + return; + } + if ((word & 0xfff00000u) == 0x09d00000u) { + insn->mnemonic = "vfnmsub.s"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_VPR; + insn->operands[3].vpr = (((word >> 15) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729cf800u) { + insn->mnemonic = "vfrecip.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729cf400u) { + insn->mnemonic = "vfrecip.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729d1800u) { + insn->mnemonic = "vfrecipe.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729d1400u) { + insn->mnemonic = "vfrecipe.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729d3800u) { + insn->mnemonic = "vfrint.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729d3400u) { + insn->mnemonic = "vfrint.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729d4800u) { + insn->mnemonic = "vfrintrm.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729d4400u) { + insn->mnemonic = "vfrintrm.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729d7800u) { + insn->mnemonic = "vfrintrne.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729d7400u) { + insn->mnemonic = "vfrintrne.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729d5800u) { + insn->mnemonic = "vfrintrp.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729d5400u) { + insn->mnemonic = "vfrintrp.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729d6800u) { + insn->mnemonic = "vfrintrz.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729d6400u) { + insn->mnemonic = "vfrintrz.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729d0800u) { + insn->mnemonic = "vfrsqrt.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729d0400u) { + insn->mnemonic = "vfrsqrt.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729d2800u) { + insn->mnemonic = "vfrsqrte.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729d2400u) { + insn->mnemonic = "vfrsqrte.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x712b0000u) { + insn->mnemonic = "vfrstp.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x712b8000u) { + insn->mnemonic = "vfrstp.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x729a0000u) { + insn->mnemonic = "vfrstpi.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x729a8000u) { + insn->mnemonic = "vfrstpi.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729ce800u) { + insn->mnemonic = "vfsqrt.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729ce400u) { + insn->mnemonic = "vfsqrt.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71330000u) { + insn->mnemonic = "vfsub.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71328000u) { + insn->mnemonic = "vfsub.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729e3400u) { + insn->mnemonic = "vftint.l.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729e5c00u) { + insn->mnemonic = "vftint.lu.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71498000u) { + insn->mnemonic = "vftint.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729e3000u) { + insn->mnemonic = "vftint.w.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729e5800u) { + insn->mnemonic = "vftint.wu.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729e8400u) { + insn->mnemonic = "vftinth.l.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729e8000u) { + insn->mnemonic = "vftintl.l.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729e3c00u) { + insn->mnemonic = "vftintrm.l.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x714a0000u) { + insn->mnemonic = "vftintrm.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729e3800u) { + insn->mnemonic = "vftintrm.w.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729e8c00u) { + insn->mnemonic = "vftintrmh.l.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729e8800u) { + insn->mnemonic = "vftintrml.l.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729e5400u) { + insn->mnemonic = "vftintrne.l.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x714b8000u) { + insn->mnemonic = "vftintrne.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729e5000u) { + insn->mnemonic = "vftintrne.w.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729ea400u) { + insn->mnemonic = "vftintrneh.l.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729ea000u) { + insn->mnemonic = "vftintrnel.l.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729e4400u) { + insn->mnemonic = "vftintrp.l.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x714a8000u) { + insn->mnemonic = "vftintrp.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729e4000u) { + insn->mnemonic = "vftintrp.w.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729e9400u) { + insn->mnemonic = "vftintrph.l.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729e9000u) { + insn->mnemonic = "vftintrpl.l.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729e4c00u) { + insn->mnemonic = "vftintrz.l.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729e7400u) { + insn->mnemonic = "vftintrz.lu.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x714b0000u) { + insn->mnemonic = "vftintrz.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729e4800u) { + insn->mnemonic = "vftintrz.w.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729e7000u) { + insn->mnemonic = "vftintrz.wu.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729e9c00u) { + insn->mnemonic = "vftintrzh.l.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729e9800u) { + insn->mnemonic = "vftintrzl.l.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70550000u) { + insn->mnemonic = "vhaddw.d.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70590000u) { + insn->mnemonic = "vhaddw.du.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70540000u) { + insn->mnemonic = "vhaddw.h.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70580000u) { + insn->mnemonic = "vhaddw.hu.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70558000u) { + insn->mnemonic = "vhaddw.q.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70598000u) { + insn->mnemonic = "vhaddw.qu.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70548000u) { + insn->mnemonic = "vhaddw.w.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70588000u) { + insn->mnemonic = "vhaddw.wu.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70570000u) { + insn->mnemonic = "vhsubw.d.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x705b0000u) { + insn->mnemonic = "vhsubw.du.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70560000u) { + insn->mnemonic = "vhsubw.h.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x705a0000u) { + insn->mnemonic = "vhsubw.hu.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70578000u) { + insn->mnemonic = "vhsubw.q.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x705b8000u) { + insn->mnemonic = "vhsubw.qu.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70568000u) { + insn->mnemonic = "vhsubw.w.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x705a8000u) { + insn->mnemonic = "vhsubw.wu.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x711c0000u) { + insn->mnemonic = "vilvh.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x711d8000u) { + insn->mnemonic = "vilvh.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x711c8000u) { + insn->mnemonic = "vilvh.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x711d0000u) { + insn->mnemonic = "vilvh.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x711a0000u) { + insn->mnemonic = "vilvl.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x711b8000u) { + insn->mnemonic = "vilvl.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x711a8000u) { + insn->mnemonic = "vilvl.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x711b0000u) { + insn->mnemonic = "vilvl.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffc000u) == 0x72eb8000u) { + insn->mnemonic = "vinsgr2vr.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xfffff800u) == 0x72ebf000u) { + insn->mnemonic = "vinsgr2vr.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1)); + return; + } + if ((word & 0xffffe000u) == 0x72ebc000u) { + insn->mnemonic = "vinsgr2vr.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xfffff000u) == 0x72ebe000u) { + insn->mnemonic = "vinsgr2vr.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3)); + return; + } + if ((word & 0xffc00000u) == 0x2c000000u) { + insn->mnemonic = "vld"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xfffc0000u) == 0x73e00000u) { + insn->mnemonic = "vldi"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_SIMM; + insn->operands[1].simm = ((int32_t)((word >> 5) & 0x1fff) << 19 >> 19); + return; + } + if ((word & 0xffc00000u) == 0x30800000u) { + insn->mnemonic = "vldrepl.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xfff80000u) == 0x30100000u) { + insn->mnemonic = "vldrepl.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1ff) << 23 >> 23 << 3); + return; + } + if ((word & 0xffe00000u) == 0x30400000u) { + insn->mnemonic = "vldrepl.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x7ff) << 21 >> 21 << 1); + return; + } + if ((word & 0xfff00000u) == 0x30200000u) { + insn->mnemonic = "vldrepl.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x3ff) << 22 >> 22 << 2); + return; + } + if ((word & 0xffff8000u) == 0x38400000u) { + insn->mnemonic = "vldx"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70a80000u) { + insn->mnemonic = "vmadd.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70a98000u) { + insn->mnemonic = "vmadd.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70a88000u) { + insn->mnemonic = "vmadd.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70a90000u) { + insn->mnemonic = "vmadd.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70ad0000u) { + insn->mnemonic = "vmaddwev.d.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70b50000u) { + insn->mnemonic = "vmaddwev.d.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70bd0000u) { + insn->mnemonic = "vmaddwev.d.wu.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70ac0000u) { + insn->mnemonic = "vmaddwev.h.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70b40000u) { + insn->mnemonic = "vmaddwev.h.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70bc0000u) { + insn->mnemonic = "vmaddwev.h.bu.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70ad8000u) { + insn->mnemonic = "vmaddwev.q.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70b58000u) { + insn->mnemonic = "vmaddwev.q.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70bd8000u) { + insn->mnemonic = "vmaddwev.q.du.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70ac8000u) { + insn->mnemonic = "vmaddwev.w.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70b48000u) { + insn->mnemonic = "vmaddwev.w.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70bc8000u) { + insn->mnemonic = "vmaddwev.w.hu.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70af0000u) { + insn->mnemonic = "vmaddwod.d.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70b70000u) { + insn->mnemonic = "vmaddwod.d.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70bf0000u) { + insn->mnemonic = "vmaddwod.d.wu.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70ae0000u) { + insn->mnemonic = "vmaddwod.h.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70b60000u) { + insn->mnemonic = "vmaddwod.h.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70be0000u) { + insn->mnemonic = "vmaddwod.h.bu.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70af8000u) { + insn->mnemonic = "vmaddwod.q.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70b78000u) { + insn->mnemonic = "vmaddwod.q.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70bf8000u) { + insn->mnemonic = "vmaddwod.q.du.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70ae8000u) { + insn->mnemonic = "vmaddwod.w.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70b68000u) { + insn->mnemonic = "vmaddwod.w.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70be8000u) { + insn->mnemonic = "vmaddwod.w.hu.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70700000u) { + insn->mnemonic = "vmax.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70740000u) { + insn->mnemonic = "vmax.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70718000u) { + insn->mnemonic = "vmax.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70758000u) { + insn->mnemonic = "vmax.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70708000u) { + insn->mnemonic = "vmax.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70748000u) { + insn->mnemonic = "vmax.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70710000u) { + insn->mnemonic = "vmax.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70750000u) { + insn->mnemonic = "vmax.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x72900000u) { + insn->mnemonic = "vmaxi.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x72940000u) { + insn->mnemonic = "vmaxi.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x72918000u) { + insn->mnemonic = "vmaxi.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x72958000u) { + insn->mnemonic = "vmaxi.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x72908000u) { + insn->mnemonic = "vmaxi.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x72948000u) { + insn->mnemonic = "vmaxi.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x72910000u) { + insn->mnemonic = "vmaxi.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x72950000u) { + insn->mnemonic = "vmaxi.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x729b8000u) { + insn->mnemonic = "vmepatmsk.v"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70720000u) { + insn->mnemonic = "vmin.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70760000u) { + insn->mnemonic = "vmin.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70738000u) { + insn->mnemonic = "vmin.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70778000u) { + insn->mnemonic = "vmin.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70728000u) { + insn->mnemonic = "vmin.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70768000u) { + insn->mnemonic = "vmin.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70730000u) { + insn->mnemonic = "vmin.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70770000u) { + insn->mnemonic = "vmin.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x72920000u) { + insn->mnemonic = "vmini.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x72960000u) { + insn->mnemonic = "vmini.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x72938000u) { + insn->mnemonic = "vmini.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x72978000u) { + insn->mnemonic = "vmini.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x72928000u) { + insn->mnemonic = "vmini.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x72968000u) { + insn->mnemonic = "vmini.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x72930000u) { + insn->mnemonic = "vmini.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x72970000u) { + insn->mnemonic = "vmini.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70e20000u) { + insn->mnemonic = "vmod.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70e60000u) { + insn->mnemonic = "vmod.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70e38000u) { + insn->mnemonic = "vmod.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70e78000u) { + insn->mnemonic = "vmod.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70e28000u) { + insn->mnemonic = "vmod.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70e68000u) { + insn->mnemonic = "vmod.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70e30000u) { + insn->mnemonic = "vmod.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70e70000u) { + insn->mnemonic = "vmod.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729c5000u) { + insn->mnemonic = "vmskgez.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729c4000u) { + insn->mnemonic = "vmskltz.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729c4c00u) { + insn->mnemonic = "vmskltz.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729c4400u) { + insn->mnemonic = "vmskltz.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729c4800u) { + insn->mnemonic = "vmskltz.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729c6000u) { + insn->mnemonic = "vmsknz.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70aa0000u) { + insn->mnemonic = "vmsub.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70ab8000u) { + insn->mnemonic = "vmsub.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70aa8000u) { + insn->mnemonic = "vmsub.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70ab0000u) { + insn->mnemonic = "vmsub.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70860000u) { + insn->mnemonic = "vmuh.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70880000u) { + insn->mnemonic = "vmuh.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70878000u) { + insn->mnemonic = "vmuh.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70898000u) { + insn->mnemonic = "vmuh.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70868000u) { + insn->mnemonic = "vmuh.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70888000u) { + insn->mnemonic = "vmuh.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70870000u) { + insn->mnemonic = "vmuh.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70890000u) { + insn->mnemonic = "vmuh.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70840000u) { + insn->mnemonic = "vmul.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70858000u) { + insn->mnemonic = "vmul.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70848000u) { + insn->mnemonic = "vmul.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70850000u) { + insn->mnemonic = "vmul.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70910000u) { + insn->mnemonic = "vmulwev.d.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70990000u) { + insn->mnemonic = "vmulwev.d.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70a10000u) { + insn->mnemonic = "vmulwev.d.wu.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70900000u) { + insn->mnemonic = "vmulwev.h.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70980000u) { + insn->mnemonic = "vmulwev.h.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70a00000u) { + insn->mnemonic = "vmulwev.h.bu.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70918000u) { + insn->mnemonic = "vmulwev.q.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70998000u) { + insn->mnemonic = "vmulwev.q.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70a18000u) { + insn->mnemonic = "vmulwev.q.du.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70908000u) { + insn->mnemonic = "vmulwev.w.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70988000u) { + insn->mnemonic = "vmulwev.w.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70a08000u) { + insn->mnemonic = "vmulwev.w.hu.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70930000u) { + insn->mnemonic = "vmulwod.d.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x709b0000u) { + insn->mnemonic = "vmulwod.d.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70a30000u) { + insn->mnemonic = "vmulwod.d.wu.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70920000u) { + insn->mnemonic = "vmulwod.h.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x709a0000u) { + insn->mnemonic = "vmulwod.h.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70a20000u) { + insn->mnemonic = "vmulwod.h.bu.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70938000u) { + insn->mnemonic = "vmulwod.q.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x709b8000u) { + insn->mnemonic = "vmulwod.q.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70a38000u) { + insn->mnemonic = "vmulwod.q.du.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70928000u) { + insn->mnemonic = "vmulwod.w.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x709a8000u) { + insn->mnemonic = "vmulwod.w.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70a28000u) { + insn->mnemonic = "vmulwod.w.hu.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729c3000u) { + insn->mnemonic = "vneg.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729c3c00u) { + insn->mnemonic = "vneg.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729c3400u) { + insn->mnemonic = "vneg.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729c3800u) { + insn->mnemonic = "vneg.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71278000u) { + insn->mnemonic = "vnor.v"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffc0000u) == 0x73dc0000u) { + insn->mnemonic = "vnori.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xffff8000u) == 0x71268000u) { + insn->mnemonic = "vor.v"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffc0000u) == 0x73d40000u) { + insn->mnemonic = "vori.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xffff8000u) == 0x71288000u) { + insn->mnemonic = "vorn.v"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71160000u) { + insn->mnemonic = "vpackev.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71178000u) { + insn->mnemonic = "vpackev.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71168000u) { + insn->mnemonic = "vpackev.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71170000u) { + insn->mnemonic = "vpackev.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71180000u) { + insn->mnemonic = "vpackod.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71198000u) { + insn->mnemonic = "vpackod.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71188000u) { + insn->mnemonic = "vpackod.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71190000u) { + insn->mnemonic = "vpackod.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729c2000u) { + insn->mnemonic = "vpcnt.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729c2c00u) { + insn->mnemonic = "vpcnt.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729c2400u) { + insn->mnemonic = "vpcnt.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729c2800u) { + insn->mnemonic = "vpcnt.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffc0000u) == 0x73e40000u) { + insn->mnemonic = "vpermi.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xffff8000u) == 0x711e0000u) { + insn->mnemonic = "vpickev.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x711f8000u) { + insn->mnemonic = "vpickev.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x711e8000u) { + insn->mnemonic = "vpickev.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x711f0000u) { + insn->mnemonic = "vpickev.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71200000u) { + insn->mnemonic = "vpickod.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71218000u) { + insn->mnemonic = "vpickod.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71208000u) { + insn->mnemonic = "vpickod.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71210000u) { + insn->mnemonic = "vpickod.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffc000u) == 0x72ef8000u) { + insn->mnemonic = "vpickve2gr.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffffc000u) == 0x72f38000u) { + insn->mnemonic = "vpickve2gr.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xfffff800u) == 0x72eff000u) { + insn->mnemonic = "vpickve2gr.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1)); + return; + } + if ((word & 0xfffff800u) == 0x72f3f000u) { + insn->mnemonic = "vpickve2gr.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1)); + return; + } + if ((word & 0xffffe000u) == 0x72efc000u) { + insn->mnemonic = "vpickve2gr.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffffe000u) == 0x72f3c000u) { + insn->mnemonic = "vpickve2gr.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xfffff000u) == 0x72efe000u) { + insn->mnemonic = "vpickve2gr.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3)); + return; + } + if ((word & 0xfffff000u) == 0x72f3e000u) { + insn->mnemonic = "vpickve2gr.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3)); + return; + } + if ((word & 0xfffffc00u) == 0x729f0000u) { + insn->mnemonic = "vreplgr2vr.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729f0c00u) { + insn->mnemonic = "vreplgr2vr.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729f0400u) { + insn->mnemonic = "vreplgr2vr.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x729f0800u) { + insn->mnemonic = "vreplgr2vr.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71220000u) { + insn->mnemonic = "vreplve.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71238000u) { + insn->mnemonic = "vreplve.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71228000u) { + insn->mnemonic = "vreplve.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71230000u) { + insn->mnemonic = "vreplve.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffc000u) == 0x72f78000u) { + insn->mnemonic = "vreplvei.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xfffff800u) == 0x72f7f000u) { + insn->mnemonic = "vreplvei.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1)); + return; + } + if ((word & 0xffffe000u) == 0x72f7c000u) { + insn->mnemonic = "vreplvei.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xfffff000u) == 0x72f7e000u) { + insn->mnemonic = "vreplvei.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3)); + return; + } + if ((word & 0xffff8000u) == 0x70ee0000u) { + insn->mnemonic = "vrotr.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70ef8000u) { + insn->mnemonic = "vrotr.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70ee8000u) { + insn->mnemonic = "vrotr.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70ef0000u) { + insn->mnemonic = "vrotr.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffe000u) == 0x72a02000u) { + insn->mnemonic = "vrotri.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffff0000u) == 0x72a10000u) { + insn->mnemonic = "vrotri.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffffc000u) == 0x72a04000u) { + insn->mnemonic = "vrotri.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff8000u) == 0x72a08000u) { + insn->mnemonic = "vrotri.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70460000u) { + insn->mnemonic = "vsadd.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x704a0000u) { + insn->mnemonic = "vsadd.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70478000u) { + insn->mnemonic = "vsadd.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x704b8000u) { + insn->mnemonic = "vsadd.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70468000u) { + insn->mnemonic = "vsadd.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x704a8000u) { + insn->mnemonic = "vsadd.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70470000u) { + insn->mnemonic = "vsadd.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x704b0000u) { + insn->mnemonic = "vsadd.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffe000u) == 0x73242000u) { + insn->mnemonic = "vsat.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffffe000u) == 0x73282000u) { + insn->mnemonic = "vsat.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffff0000u) == 0x73250000u) { + insn->mnemonic = "vsat.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffff0000u) == 0x73290000u) { + insn->mnemonic = "vsat.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffffc000u) == 0x73244000u) { + insn->mnemonic = "vsat.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffffc000u) == 0x73284000u) { + insn->mnemonic = "vsat.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff8000u) == 0x73248000u) { + insn->mnemonic = "vsat.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x73288000u) { + insn->mnemonic = "vsat.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70000000u) { + insn->mnemonic = "vseq.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70018000u) { + insn->mnemonic = "vseq.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70008000u) { + insn->mnemonic = "vseq.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70010000u) { + insn->mnemonic = "vseq.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x72800000u) { + insn->mnemonic = "vseqi.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x72818000u) { + insn->mnemonic = "vseqi.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x72808000u) { + insn->mnemonic = "vseqi.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x72810000u) { + insn->mnemonic = "vseqi.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xfffffc18u) == 0x729cb000u) { + insn->mnemonic = "vsetallnez.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc18u) == 0x729cbc00u) { + insn->mnemonic = "vsetallnez.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc18u) == 0x729cb400u) { + insn->mnemonic = "vsetallnez.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc18u) == 0x729cb800u) { + insn->mnemonic = "vsetallnez.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc18u) == 0x729ca000u) { + insn->mnemonic = "vsetanyeqz.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc18u) == 0x729cac00u) { + insn->mnemonic = "vsetanyeqz.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc18u) == 0x729ca400u) { + insn->mnemonic = "vsetanyeqz.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc18u) == 0x729ca800u) { + insn->mnemonic = "vsetanyeqz.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc18u) == 0x729c9800u) { + insn->mnemonic = "vseteqz.v"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc18u) == 0x729c9c00u) { + insn->mnemonic = "vsetnez.v"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffc0000u) == 0x73900000u) { + insn->mnemonic = "vshuf4i.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xfffc0000u) == 0x739c0000u) { + insn->mnemonic = "vshuf4i.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xfffc0000u) == 0x73940000u) { + insn->mnemonic = "vshuf4i.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xfffc0000u) == 0x73980000u) { + insn->mnemonic = "vshuf4i.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xfff00000u) == 0x0d500000u) { + insn->mnemonic = "vshuf.b"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_VPR; + insn->operands[3].vpr = (((word >> 15) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x717b8000u) { + insn->mnemonic = "vshuf.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x717a8000u) { + insn->mnemonic = "vshuf.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x717b0000u) { + insn->mnemonic = "vshuf.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x712e0000u) { + insn->mnemonic = "vsigncov.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x712f8000u) { + insn->mnemonic = "vsigncov.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x712e8000u) { + insn->mnemonic = "vsigncov.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x712f0000u) { + insn->mnemonic = "vsigncov.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70020000u) { + insn->mnemonic = "vsle.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70040000u) { + insn->mnemonic = "vsle.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70038000u) { + insn->mnemonic = "vsle.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70058000u) { + insn->mnemonic = "vsle.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70028000u) { + insn->mnemonic = "vsle.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70048000u) { + insn->mnemonic = "vsle.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70030000u) { + insn->mnemonic = "vsle.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70050000u) { + insn->mnemonic = "vsle.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x72820000u) { + insn->mnemonic = "vslei.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x72840000u) { + insn->mnemonic = "vslei.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x72838000u) { + insn->mnemonic = "vslei.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x72858000u) { + insn->mnemonic = "vslei.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x72828000u) { + insn->mnemonic = "vslei.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x72848000u) { + insn->mnemonic = "vslei.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x72830000u) { + insn->mnemonic = "vslei.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x72850000u) { + insn->mnemonic = "vslei.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70e80000u) { + insn->mnemonic = "vsll.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70e98000u) { + insn->mnemonic = "vsll.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70e88000u) { + insn->mnemonic = "vsll.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70e90000u) { + insn->mnemonic = "vsll.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffe000u) == 0x732c2000u) { + insn->mnemonic = "vslli.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffff0000u) == 0x732d0000u) { + insn->mnemonic = "vslli.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffffc000u) == 0x732c4000u) { + insn->mnemonic = "vslli.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff8000u) == 0x732c8000u) { + insn->mnemonic = "vslli.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x73088000u) { + insn->mnemonic = "vsllwil.d.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x730c8000u) { + insn->mnemonic = "vsllwil.du.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffe000u) == 0x73082000u) { + insn->mnemonic = "vsllwil.h.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffffe000u) == 0x730c2000u) { + insn->mnemonic = "vsllwil.hu.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffffc000u) == 0x73084000u) { + insn->mnemonic = "vsllwil.w.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffffc000u) == 0x730c4000u) { + insn->mnemonic = "vsllwil.wu.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff8000u) == 0x70060000u) { + insn->mnemonic = "vslt.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70080000u) { + insn->mnemonic = "vslt.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70078000u) { + insn->mnemonic = "vslt.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70098000u) { + insn->mnemonic = "vslt.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70068000u) { + insn->mnemonic = "vslt.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70088000u) { + insn->mnemonic = "vslt.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70070000u) { + insn->mnemonic = "vslt.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70090000u) { + insn->mnemonic = "vslt.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x72860000u) { + insn->mnemonic = "vslti.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x72880000u) { + insn->mnemonic = "vslti.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x72878000u) { + insn->mnemonic = "vslti.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x72898000u) { + insn->mnemonic = "vslti.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x72868000u) { + insn->mnemonic = "vslti.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x72888000u) { + insn->mnemonic = "vslti.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x72870000u) { + insn->mnemonic = "vslti.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x72890000u) { + insn->mnemonic = "vslti.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70ec0000u) { + insn->mnemonic = "vsra.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70ed8000u) { + insn->mnemonic = "vsra.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70ec8000u) { + insn->mnemonic = "vsra.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70ed0000u) { + insn->mnemonic = "vsra.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffe000u) == 0x73342000u) { + insn->mnemonic = "vsrai.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffff0000u) == 0x73350000u) { + insn->mnemonic = "vsrai.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffffc000u) == 0x73344000u) { + insn->mnemonic = "vsrai.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff8000u) == 0x73348000u) { + insn->mnemonic = "vsrai.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70f68000u) { + insn->mnemonic = "vsran.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70f70000u) { + insn->mnemonic = "vsran.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70f78000u) { + insn->mnemonic = "vsran.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffc000u) == 0x73584000u) { + insn->mnemonic = "vsrani.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xfffe0000u) == 0x735a0000u) { + insn->mnemonic = "vsrani.d.q"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7f)); + return; + } + if ((word & 0xffff8000u) == 0x73588000u) { + insn->mnemonic = "vsrani.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff0000u) == 0x73590000u) { + insn->mnemonic = "vsrani.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffff8000u) == 0x70f20000u) { + insn->mnemonic = "vsrar.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70f38000u) { + insn->mnemonic = "vsrar.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70f28000u) { + insn->mnemonic = "vsrar.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70f30000u) { + insn->mnemonic = "vsrar.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffe000u) == 0x72a82000u) { + insn->mnemonic = "vsrari.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffff0000u) == 0x72a90000u) { + insn->mnemonic = "vsrari.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffffc000u) == 0x72a84000u) { + insn->mnemonic = "vsrari.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff8000u) == 0x72a88000u) { + insn->mnemonic = "vsrari.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70fa8000u) { + insn->mnemonic = "vsrarn.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70fb0000u) { + insn->mnemonic = "vsrarn.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70fb8000u) { + insn->mnemonic = "vsrarn.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffc000u) == 0x735c4000u) { + insn->mnemonic = "vsrarni.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xfffe0000u) == 0x735e0000u) { + insn->mnemonic = "vsrarni.d.q"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7f)); + return; + } + if ((word & 0xffff8000u) == 0x735c8000u) { + insn->mnemonic = "vsrarni.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff0000u) == 0x735d0000u) { + insn->mnemonic = "vsrarni.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffff8000u) == 0x70ea0000u) { + insn->mnemonic = "vsrl.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70eb8000u) { + insn->mnemonic = "vsrl.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70ea8000u) { + insn->mnemonic = "vsrl.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70eb0000u) { + insn->mnemonic = "vsrl.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffe000u) == 0x73302000u) { + insn->mnemonic = "vsrli.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffff0000u) == 0x73310000u) { + insn->mnemonic = "vsrli.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffffc000u) == 0x73304000u) { + insn->mnemonic = "vsrli.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff8000u) == 0x73308000u) { + insn->mnemonic = "vsrli.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70f48000u) { + insn->mnemonic = "vsrln.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70f50000u) { + insn->mnemonic = "vsrln.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70f58000u) { + insn->mnemonic = "vsrln.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffc000u) == 0x73404000u) { + insn->mnemonic = "vsrlni.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xfffe0000u) == 0x73420000u) { + insn->mnemonic = "vsrlni.d.q"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7f)); + return; + } + if ((word & 0xffff8000u) == 0x73408000u) { + insn->mnemonic = "vsrlni.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff0000u) == 0x73410000u) { + insn->mnemonic = "vsrlni.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffff8000u) == 0x70f00000u) { + insn->mnemonic = "vsrlr.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70f18000u) { + insn->mnemonic = "vsrlr.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70f08000u) { + insn->mnemonic = "vsrlr.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70f10000u) { + insn->mnemonic = "vsrlr.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffe000u) == 0x72a42000u) { + insn->mnemonic = "vsrlri.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffff0000u) == 0x72a50000u) { + insn->mnemonic = "vsrlri.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffffc000u) == 0x72a44000u) { + insn->mnemonic = "vsrlri.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff8000u) == 0x72a48000u) { + insn->mnemonic = "vsrlri.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70f88000u) { + insn->mnemonic = "vsrlrn.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70f90000u) { + insn->mnemonic = "vsrlrn.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70f98000u) { + insn->mnemonic = "vsrlrn.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffc000u) == 0x73444000u) { + insn->mnemonic = "vsrlrni.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xfffe0000u) == 0x73460000u) { + insn->mnemonic = "vsrlrni.d.q"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7f)); + return; + } + if ((word & 0xffff8000u) == 0x73448000u) { + insn->mnemonic = "vsrlrni.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff0000u) == 0x73450000u) { + insn->mnemonic = "vsrlrni.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffff8000u) == 0x70fe8000u) { + insn->mnemonic = "vssran.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71068000u) { + insn->mnemonic = "vssran.bu.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70ff0000u) { + insn->mnemonic = "vssran.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71070000u) { + insn->mnemonic = "vssran.hu.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70ff8000u) { + insn->mnemonic = "vssran.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71078000u) { + insn->mnemonic = "vssran.wu.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffc000u) == 0x73604000u) { + insn->mnemonic = "vssrani.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffffc000u) == 0x73644000u) { + insn->mnemonic = "vssrani.bu.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xfffe0000u) == 0x73620000u) { + insn->mnemonic = "vssrani.d.q"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7f)); + return; + } + if ((word & 0xfffe0000u) == 0x73660000u) { + insn->mnemonic = "vssrani.du.q"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7f)); + return; + } + if ((word & 0xffff8000u) == 0x73608000u) { + insn->mnemonic = "vssrani.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x73648000u) { + insn->mnemonic = "vssrani.hu.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff0000u) == 0x73610000u) { + insn->mnemonic = "vssrani.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffff0000u) == 0x73650000u) { + insn->mnemonic = "vssrani.wu.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffff8000u) == 0x71028000u) { + insn->mnemonic = "vssrarn.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x710a8000u) { + insn->mnemonic = "vssrarn.bu.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71030000u) { + insn->mnemonic = "vssrarn.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x710b0000u) { + insn->mnemonic = "vssrarn.hu.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71038000u) { + insn->mnemonic = "vssrarn.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x710b8000u) { + insn->mnemonic = "vssrarn.wu.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffc000u) == 0x73684000u) { + insn->mnemonic = "vssrarni.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffffc000u) == 0x736c4000u) { + insn->mnemonic = "vssrarni.bu.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xfffe0000u) == 0x736a0000u) { + insn->mnemonic = "vssrarni.d.q"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7f)); + return; + } + if ((word & 0xfffe0000u) == 0x736e0000u) { + insn->mnemonic = "vssrarni.du.q"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7f)); + return; + } + if ((word & 0xffff8000u) == 0x73688000u) { + insn->mnemonic = "vssrarni.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x736c8000u) { + insn->mnemonic = "vssrarni.hu.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff0000u) == 0x73690000u) { + insn->mnemonic = "vssrarni.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffff0000u) == 0x736d0000u) { + insn->mnemonic = "vssrarni.wu.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffff8000u) == 0x70fc8000u) { + insn->mnemonic = "vssrln.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71048000u) { + insn->mnemonic = "vssrln.bu.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70fd0000u) { + insn->mnemonic = "vssrln.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71050000u) { + insn->mnemonic = "vssrln.hu.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70fd8000u) { + insn->mnemonic = "vssrln.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71058000u) { + insn->mnemonic = "vssrln.wu.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffc000u) == 0x73484000u) { + insn->mnemonic = "vssrlni.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffffc000u) == 0x734c4000u) { + insn->mnemonic = "vssrlni.bu.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xfffe0000u) == 0x734a0000u) { + insn->mnemonic = "vssrlni.d.q"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7f)); + return; + } + if ((word & 0xfffe0000u) == 0x734e0000u) { + insn->mnemonic = "vssrlni.du.q"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7f)); + return; + } + if ((word & 0xffff8000u) == 0x73488000u) { + insn->mnemonic = "vssrlni.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x734c8000u) { + insn->mnemonic = "vssrlni.hu.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff0000u) == 0x73490000u) { + insn->mnemonic = "vssrlni.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffff0000u) == 0x734d0000u) { + insn->mnemonic = "vssrlni.wu.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffff8000u) == 0x71008000u) { + insn->mnemonic = "vssrlrn.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71088000u) { + insn->mnemonic = "vssrlrn.bu.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71010000u) { + insn->mnemonic = "vssrlrn.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71090000u) { + insn->mnemonic = "vssrlrn.hu.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71018000u) { + insn->mnemonic = "vssrlrn.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71098000u) { + insn->mnemonic = "vssrlrn.wu.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffc000u) == 0x73504000u) { + insn->mnemonic = "vssrlrni.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffffc000u) == 0x73544000u) { + insn->mnemonic = "vssrlrni.bu.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xfffe0000u) == 0x73520000u) { + insn->mnemonic = "vssrlrni.d.q"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7f)); + return; + } + if ((word & 0xfffe0000u) == 0x73560000u) { + insn->mnemonic = "vssrlrni.du.q"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7f)); + return; + } + if ((word & 0xffff8000u) == 0x73508000u) { + insn->mnemonic = "vssrlrni.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x73548000u) { + insn->mnemonic = "vssrlrni.hu.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff0000u) == 0x73510000u) { + insn->mnemonic = "vssrlrni.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffff0000u) == 0x73550000u) { + insn->mnemonic = "vssrlrni.wu.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffff8000u) == 0x70480000u) { + insn->mnemonic = "vssub.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x704c0000u) { + insn->mnemonic = "vssub.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70498000u) { + insn->mnemonic = "vssub.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x704d8000u) { + insn->mnemonic = "vssub.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70488000u) { + insn->mnemonic = "vssub.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x704c8000u) { + insn->mnemonic = "vssub.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70490000u) { + insn->mnemonic = "vssub.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x704d0000u) { + insn->mnemonic = "vssub.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffc00000u) == 0x2c400000u) { + insn->mnemonic = "vst"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xffc00000u) == 0x31800000u) { + insn->mnemonic = "vstelm.b"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xff) << 24 >> 24); + insn->operands[3].kind = LA_OP_UIMM; + insn->operands[3].uimm = (((word >> 18) & 0xf)); + return; + } + if ((word & 0xfff80000u) == 0x31100000u) { + insn->mnemonic = "vstelm.d"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xff) << 24 >> 24 << 3); + insn->operands[3].kind = LA_OP_UIMM; + insn->operands[3].uimm = (((word >> 18) & 0x1)); + return; + } + if ((word & 0xffe00000u) == 0x31400000u) { + insn->mnemonic = "vstelm.h"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xff) << 24 >> 24 << 1); + insn->operands[3].kind = LA_OP_UIMM; + insn->operands[3].uimm = (((word >> 18) & 0x7)); + return; + } + if ((word & 0xfff00000u) == 0x31200000u) { + insn->mnemonic = "vstelm.w"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xff) << 24 >> 24 << 2); + insn->operands[3].kind = LA_OP_UIMM; + insn->operands[3].uimm = (((word >> 18) & 0x3)); + return; + } + if ((word & 0xffff8000u) == 0x38440000u) { + insn->mnemonic = "vstx"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x700c0000u) { + insn->mnemonic = "vsub.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x700d8000u) { + insn->mnemonic = "vsub.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x700c8000u) { + insn->mnemonic = "vsub.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x712d8000u) { + insn->mnemonic = "vsub.q"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x700d0000u) { + insn->mnemonic = "vsub.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x728c0000u) { + insn->mnemonic = "vsubi.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x728d8000u) { + insn->mnemonic = "vsubi.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x728c8000u) { + insn->mnemonic = "vsubi.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x728d0000u) { + insn->mnemonic = "vsubi.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70210000u) { + insn->mnemonic = "vsubwev.d.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70310000u) { + insn->mnemonic = "vsubwev.d.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70200000u) { + insn->mnemonic = "vsubwev.h.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70300000u) { + insn->mnemonic = "vsubwev.h.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70218000u) { + insn->mnemonic = "vsubwev.q.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70318000u) { + insn->mnemonic = "vsubwev.q.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70208000u) { + insn->mnemonic = "vsubwev.w.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70308000u) { + insn->mnemonic = "vsubwev.w.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70250000u) { + insn->mnemonic = "vsubwod.d.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70350000u) { + insn->mnemonic = "vsubwod.d.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70240000u) { + insn->mnemonic = "vsubwod.h.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70340000u) { + insn->mnemonic = "vsubwod.h.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70258000u) { + insn->mnemonic = "vsubwod.q.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70358000u) { + insn->mnemonic = "vsubwod.q.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70248000u) { + insn->mnemonic = "vsubwod.w.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x70348000u) { + insn->mnemonic = "vsubwod.w.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x71270000u) { + insn->mnemonic = "vxor.v"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_VPR; + insn->operands[2].vpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffc0000u) == 0x73d80000u) { + insn->mnemonic = "vxori.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_VPR; + insn->operands[0].vpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_VPR; + insn->operands[1].vpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xffff801fu) == 0x003f000cu) { + insn->mnemonic = "x86adc.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f000fu) { + insn->mnemonic = "x86adc.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f000du) { + insn->mnemonic = "x86adc.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f000eu) { + insn->mnemonic = "x86adc.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f0004u) { + insn->mnemonic = "x86add.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f0007u) { + insn->mnemonic = "x86add.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f0001u) { + insn->mnemonic = "x86add.du"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f0005u) { + insn->mnemonic = "x86add.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f0006u) { + insn->mnemonic = "x86add.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f0000u) { + insn->mnemonic = "x86add.wu"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f8010u) { + insn->mnemonic = "x86and.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f8013u) { + insn->mnemonic = "x86and.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f8011u) { + insn->mnemonic = "x86and.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f8012u) { + insn->mnemonic = "x86and.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffffffu) == 0x00008028u) { + insn->mnemonic = "x86clrtm"; + insn->operand_count = 0; + return; + } + if ((word & 0xfffffc1fu) == 0x00008004u) { + insn->mnemonic = "x86dec.b"; + insn->operand_count = 1; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc1fu) == 0x00008007u) { + insn->mnemonic = "x86dec.d"; + insn->operand_count = 1; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc1fu) == 0x00008005u) { + insn->mnemonic = "x86dec.h"; + insn->operand_count = 1; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc1fu) == 0x00008006u) { + insn->mnemonic = "x86dec.w"; + insn->operand_count = 1; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffffffffu) == 0x00008029u) { + insn->mnemonic = "x86dectop"; + insn->operand_count = 0; + return; + } + if ((word & 0xfffffc1fu) == 0x00008000u) { + insn->mnemonic = "x86inc.b"; + insn->operand_count = 1; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc1fu) == 0x00008003u) { + insn->mnemonic = "x86inc.d"; + insn->operand_count = 1; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc1fu) == 0x00008001u) { + insn->mnemonic = "x86inc.h"; + insn->operand_count = 1; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc1fu) == 0x00008002u) { + insn->mnemonic = "x86inc.w"; + insn->operand_count = 1; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffffffffu) == 0x00008009u) { + insn->mnemonic = "x86inctop"; + insn->operand_count = 0; + return; + } + if ((word & 0xfffc03e0u) == 0x005c0000u) { + insn->mnemonic = "x86mfflag"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xffffffe0u) == 0x00007400u) { + insn->mnemonic = "x86mftop"; + insn->operand_count = 1; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + return; + } + if ((word & 0xfffc03e0u) == 0x005c0020u) { + insn->mnemonic = "x86mtflag"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xffffff1fu) == 0x00007000u) { + insn->mnemonic = "x86mttop"; + insn->operand_count = 1; + insn->operands[0].kind = LA_OP_UIMM; + insn->operands[0].uimm = (((word >> 5) & 0x7)); + return; + } + if ((word & 0xffff801fu) == 0x003e8000u) { + insn->mnemonic = "x86mul.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003e8004u) { + insn->mnemonic = "x86mul.bu"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003e8003u) { + insn->mnemonic = "x86mul.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003e8007u) { + insn->mnemonic = "x86mul.du"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003e8001u) { + insn->mnemonic = "x86mul.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003e8005u) { + insn->mnemonic = "x86mul.hu"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003e8002u) { + insn->mnemonic = "x86mul.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003e8006u) { + insn->mnemonic = "x86mul.wu"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f8014u) { + insn->mnemonic = "x86or.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f8017u) { + insn->mnemonic = "x86or.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f8015u) { + insn->mnemonic = "x86or.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f8016u) { + insn->mnemonic = "x86or.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f800cu) { + insn->mnemonic = "x86rcl.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f800fu) { + insn->mnemonic = "x86rcl.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f800du) { + insn->mnemonic = "x86rcl.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f800eu) { + insn->mnemonic = "x86rcl.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffe01fu) == 0x00542018u) { + insn->mnemonic = "x86rcli.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffff001fu) == 0x0055001bu) { + insn->mnemonic = "x86rcli.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffffc01fu) == 0x00544019u) { + insn->mnemonic = "x86rcli.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff801fu) == 0x0054801au) { + insn->mnemonic = "x86rcli.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f8008u) { + insn->mnemonic = "x86rcr.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f800bu) { + insn->mnemonic = "x86rcr.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f8009u) { + insn->mnemonic = "x86rcr.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f800au) { + insn->mnemonic = "x86rcr.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffe01fu) == 0x00542010u) { + insn->mnemonic = "x86rcri.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffff001fu) == 0x00550013u) { + insn->mnemonic = "x86rcri.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffffc01fu) == 0x00544011u) { + insn->mnemonic = "x86rcri.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff801fu) == 0x00548012u) { + insn->mnemonic = "x86rcri.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f8004u) { + insn->mnemonic = "x86rotl.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f8007u) { + insn->mnemonic = "x86rotl.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f8005u) { + insn->mnemonic = "x86rotl.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f8006u) { + insn->mnemonic = "x86rotl.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffe01fu) == 0x00542014u) { + insn->mnemonic = "x86rotli.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffff001fu) == 0x00550017u) { + insn->mnemonic = "x86rotli.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffffc01fu) == 0x00544015u) { + insn->mnemonic = "x86rotli.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff801fu) == 0x00548016u) { + insn->mnemonic = "x86rotli.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f8000u) { + insn->mnemonic = "x86rotr.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f8002u) { + insn->mnemonic = "x86rotr.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f8001u) { + insn->mnemonic = "x86rotr.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f8003u) { + insn->mnemonic = "x86rotr.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffe01fu) == 0x0054200cu) { + insn->mnemonic = "x86rotri.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffff001fu) == 0x0055000fu) { + insn->mnemonic = "x86rotri.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffffc01fu) == 0x0054400du) { + insn->mnemonic = "x86rotri.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff801fu) == 0x0054800eu) { + insn->mnemonic = "x86rotri.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f0010u) { + insn->mnemonic = "x86sbc.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f0013u) { + insn->mnemonic = "x86sbc.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f0011u) { + insn->mnemonic = "x86sbc.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f0012u) { + insn->mnemonic = "x86sbc.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffc0000u) == 0x00580000u) { + insn->mnemonic = "x86settag"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xffffffffu) == 0x00008008u) { + insn->mnemonic = "x86settm"; + insn->operand_count = 0; + return; + } + if ((word & 0xffff801fu) == 0x003f0014u) { + insn->mnemonic = "x86sll.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f0017u) { + insn->mnemonic = "x86sll.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f0015u) { + insn->mnemonic = "x86sll.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f0016u) { + insn->mnemonic = "x86sll.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffe01fu) == 0x00542000u) { + insn->mnemonic = "x86slli.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffff001fu) == 0x00550003u) { + insn->mnemonic = "x86slli.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffffc01fu) == 0x00544001u) { + insn->mnemonic = "x86slli.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff801fu) == 0x00548002u) { + insn->mnemonic = "x86slli.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f001cu) { + insn->mnemonic = "x86sra.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f001fu) { + insn->mnemonic = "x86sra.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f001du) { + insn->mnemonic = "x86sra.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f001eu) { + insn->mnemonic = "x86sra.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffe01fu) == 0x00542008u) { + insn->mnemonic = "x86srai.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffff001fu) == 0x0055000bu) { + insn->mnemonic = "x86srai.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffffc01fu) == 0x00544009u) { + insn->mnemonic = "x86srai.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff801fu) == 0x0054800au) { + insn->mnemonic = "x86srai.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f0018u) { + insn->mnemonic = "x86srl.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f001bu) { + insn->mnemonic = "x86srl.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f0019u) { + insn->mnemonic = "x86srl.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f001au) { + insn->mnemonic = "x86srl.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffe01fu) == 0x00542004u) { + insn->mnemonic = "x86srli.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffff001fu) == 0x00550007u) { + insn->mnemonic = "x86srli.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffffc01fu) == 0x00544005u) { + insn->mnemonic = "x86srli.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff801fu) == 0x00548006u) { + insn->mnemonic = "x86srli.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f0008u) { + insn->mnemonic = "x86sub.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f000bu) { + insn->mnemonic = "x86sub.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f0003u) { + insn->mnemonic = "x86sub.du"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f0009u) { + insn->mnemonic = "x86sub.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f000au) { + insn->mnemonic = "x86sub.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f0002u) { + insn->mnemonic = "x86sub.wu"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f8018u) { + insn->mnemonic = "x86xor.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f801bu) { + insn->mnemonic = "x86xor.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f8019u) { + insn->mnemonic = "x86xor.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff801fu) == 0x003f801au) { + insn->mnemonic = "x86xor.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 5) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x00158000u) { + insn->mnemonic = "xor"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffc00000u) == 0x03c00000u) { + insn->mnemonic = "xori"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xfff)); + return; + } + if ((word & 0xffff8000u) == 0x74600000u) { + insn->mnemonic = "xvabsd.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74620000u) { + insn->mnemonic = "xvabsd.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74618000u) { + insn->mnemonic = "xvabsd.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74638000u) { + insn->mnemonic = "xvabsd.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74608000u) { + insn->mnemonic = "xvabsd.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74628000u) { + insn->mnemonic = "xvabsd.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74610000u) { + insn->mnemonic = "xvabsd.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74630000u) { + insn->mnemonic = "xvabsd.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x740a0000u) { + insn->mnemonic = "xvadd.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x740b8000u) { + insn->mnemonic = "xvadd.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x740a8000u) { + insn->mnemonic = "xvadd.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x752d0000u) { + insn->mnemonic = "xvadd.q"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x740b0000u) { + insn->mnemonic = "xvadd.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x745c0000u) { + insn->mnemonic = "xvadda.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x745d8000u) { + insn->mnemonic = "xvadda.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x745c8000u) { + insn->mnemonic = "xvadda.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x745d0000u) { + insn->mnemonic = "xvadda.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x768a0000u) { + insn->mnemonic = "xvaddi.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x768b8000u) { + insn->mnemonic = "xvaddi.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x768a8000u) { + insn->mnemonic = "xvaddi.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x768b0000u) { + insn->mnemonic = "xvaddi.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x741f0000u) { + insn->mnemonic = "xvaddwev.d.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x742f0000u) { + insn->mnemonic = "xvaddwev.d.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x743f0000u) { + insn->mnemonic = "xvaddwev.d.wu.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x741e0000u) { + insn->mnemonic = "xvaddwev.h.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x742e0000u) { + insn->mnemonic = "xvaddwev.h.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x743e0000u) { + insn->mnemonic = "xvaddwev.h.bu.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x741f8000u) { + insn->mnemonic = "xvaddwev.q.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x742f8000u) { + insn->mnemonic = "xvaddwev.q.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x743f8000u) { + insn->mnemonic = "xvaddwev.q.du.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x741e8000u) { + insn->mnemonic = "xvaddwev.w.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x742e8000u) { + insn->mnemonic = "xvaddwev.w.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x743e8000u) { + insn->mnemonic = "xvaddwev.w.hu.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74230000u) { + insn->mnemonic = "xvaddwod.d.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74330000u) { + insn->mnemonic = "xvaddwod.d.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74410000u) { + insn->mnemonic = "xvaddwod.d.wu.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74220000u) { + insn->mnemonic = "xvaddwod.h.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74320000u) { + insn->mnemonic = "xvaddwod.h.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74400000u) { + insn->mnemonic = "xvaddwod.h.bu.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74238000u) { + insn->mnemonic = "xvaddwod.q.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74338000u) { + insn->mnemonic = "xvaddwod.q.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74418000u) { + insn->mnemonic = "xvaddwod.q.du.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74228000u) { + insn->mnemonic = "xvaddwod.w.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74328000u) { + insn->mnemonic = "xvaddwod.w.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74408000u) { + insn->mnemonic = "xvaddwod.w.hu.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75260000u) { + insn->mnemonic = "xvand.v"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffc0000u) == 0x77d00000u) { + insn->mnemonic = "xvandi.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xffff8000u) == 0x75280000u) { + insn->mnemonic = "xvandn.v"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74640000u) { + insn->mnemonic = "xvavg.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74660000u) { + insn->mnemonic = "xvavg.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74658000u) { + insn->mnemonic = "xvavg.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74678000u) { + insn->mnemonic = "xvavg.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74648000u) { + insn->mnemonic = "xvavg.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74668000u) { + insn->mnemonic = "xvavg.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74650000u) { + insn->mnemonic = "xvavg.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74670000u) { + insn->mnemonic = "xvavg.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74680000u) { + insn->mnemonic = "xvavgr.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x746a0000u) { + insn->mnemonic = "xvavgr.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74698000u) { + insn->mnemonic = "xvavgr.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x746b8000u) { + insn->mnemonic = "xvavgr.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74688000u) { + insn->mnemonic = "xvavgr.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x746a8000u) { + insn->mnemonic = "xvavgr.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74690000u) { + insn->mnemonic = "xvavgr.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x746b0000u) { + insn->mnemonic = "xvavgr.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x750c0000u) { + insn->mnemonic = "xvbitclr.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x750d8000u) { + insn->mnemonic = "xvbitclr.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x750c8000u) { + insn->mnemonic = "xvbitclr.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x750d0000u) { + insn->mnemonic = "xvbitclr.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffe000u) == 0x77102000u) { + insn->mnemonic = "xvbitclri.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffff0000u) == 0x77110000u) { + insn->mnemonic = "xvbitclri.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffffc000u) == 0x77104000u) { + insn->mnemonic = "xvbitclri.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff8000u) == 0x77108000u) { + insn->mnemonic = "xvbitclri.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75100000u) { + insn->mnemonic = "xvbitrev.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75118000u) { + insn->mnemonic = "xvbitrev.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75108000u) { + insn->mnemonic = "xvbitrev.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75110000u) { + insn->mnemonic = "xvbitrev.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffe000u) == 0x77182000u) { + insn->mnemonic = "xvbitrevi.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffff0000u) == 0x77190000u) { + insn->mnemonic = "xvbitrevi.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffffc000u) == 0x77184000u) { + insn->mnemonic = "xvbitrevi.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff8000u) == 0x77188000u) { + insn->mnemonic = "xvbitrevi.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfff00000u) == 0x0d200000u) { + insn->mnemonic = "xvbitsel.v"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_XVPR; + insn->operands[3].xvpr = (((word >> 15) & 0x1f)); + return; + } + if ((word & 0xfffc0000u) == 0x77c40000u) { + insn->mnemonic = "xvbitseli.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xffff8000u) == 0x750e0000u) { + insn->mnemonic = "xvbitset.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x750f8000u) { + insn->mnemonic = "xvbitset.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x750e8000u) { + insn->mnemonic = "xvbitset.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x750f0000u) { + insn->mnemonic = "xvbitset.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffe000u) == 0x77142000u) { + insn->mnemonic = "xvbitseti.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffff0000u) == 0x77150000u) { + insn->mnemonic = "xvbitseti.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffffc000u) == 0x77144000u) { + insn->mnemonic = "xvbitseti.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff8000u) == 0x77148000u) { + insn->mnemonic = "xvbitseti.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x768e0000u) { + insn->mnemonic = "xvbsll.v"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x768e8000u) { + insn->mnemonic = "xvbsrl.v"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769c0000u) { + insn->mnemonic = "xvclo.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769c0c00u) { + insn->mnemonic = "xvclo.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769c0400u) { + insn->mnemonic = "xvclo.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769c0800u) { + insn->mnemonic = "xvclo.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769c1000u) { + insn->mnemonic = "xvclz.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769c1c00u) { + insn->mnemonic = "xvclz.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769c1400u) { + insn->mnemonic = "xvclz.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769c1800u) { + insn->mnemonic = "xvclz.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74e00000u) { + insn->mnemonic = "xvdiv.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74e40000u) { + insn->mnemonic = "xvdiv.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74e18000u) { + insn->mnemonic = "xvdiv.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74e58000u) { + insn->mnemonic = "xvdiv.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74e08000u) { + insn->mnemonic = "xvdiv.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74e48000u) { + insn->mnemonic = "xvdiv.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74e10000u) { + insn->mnemonic = "xvdiv.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74e50000u) { + insn->mnemonic = "xvdiv.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769ee800u) { + insn->mnemonic = "xvexth.d.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769ef800u) { + insn->mnemonic = "xvexth.du.wu"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769ee000u) { + insn->mnemonic = "xvexth.h.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769ef000u) { + insn->mnemonic = "xvexth.hu.bu"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769eec00u) { + insn->mnemonic = "xvexth.q.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769efc00u) { + insn->mnemonic = "xvexth.qu.du"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769ee400u) { + insn->mnemonic = "xvexth.w.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769ef400u) { + insn->mnemonic = "xvexth.wu.hu"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x77090000u) { + insn->mnemonic = "xvextl.q.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x770d0000u) { + insn->mnemonic = "xvextl.qu.du"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffc0000u) == 0x778c0000u) { + insn->mnemonic = "xvextrins.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xfffc0000u) == 0x77800000u) { + insn->mnemonic = "xvextrins.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xfffc0000u) == 0x77880000u) { + insn->mnemonic = "xvextrins.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xfffc0000u) == 0x77840000u) { + insn->mnemonic = "xvextrins.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xffff8000u) == 0x75310000u) { + insn->mnemonic = "xvfadd.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75308000u) { + insn->mnemonic = "xvfadd.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769cd800u) { + insn->mnemonic = "xvfclass.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769cd400u) { + insn->mnemonic = "xvfclass.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0ca00000u) { + insn->mnemonic = "xvfcmp.caf.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c900000u) { + insn->mnemonic = "xvfcmp.caf.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0ca20000u) { + insn->mnemonic = "xvfcmp.ceq.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c920000u) { + insn->mnemonic = "xvfcmp.ceq.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0ca30000u) { + insn->mnemonic = "xvfcmp.cle.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c930000u) { + insn->mnemonic = "xvfcmp.cle.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0ca10000u) { + insn->mnemonic = "xvfcmp.clt.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c910000u) { + insn->mnemonic = "xvfcmp.clt.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0ca80000u) { + insn->mnemonic = "xvfcmp.cne.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c980000u) { + insn->mnemonic = "xvfcmp.cne.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0caa0000u) { + insn->mnemonic = "xvfcmp.cor.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c9a0000u) { + insn->mnemonic = "xvfcmp.cor.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0ca60000u) { + insn->mnemonic = "xvfcmp.cueq.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c960000u) { + insn->mnemonic = "xvfcmp.cueq.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0ca70000u) { + insn->mnemonic = "xvfcmp.cule.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c970000u) { + insn->mnemonic = "xvfcmp.cule.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0ca50000u) { + insn->mnemonic = "xvfcmp.cult.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c950000u) { + insn->mnemonic = "xvfcmp.cult.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0ca40000u) { + insn->mnemonic = "xvfcmp.cun.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c940000u) { + insn->mnemonic = "xvfcmp.cun.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0cac0000u) { + insn->mnemonic = "xvfcmp.cune.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c9c0000u) { + insn->mnemonic = "xvfcmp.cune.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0ca08000u) { + insn->mnemonic = "xvfcmp.saf.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c908000u) { + insn->mnemonic = "xvfcmp.saf.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0ca28000u) { + insn->mnemonic = "xvfcmp.seq.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c928000u) { + insn->mnemonic = "xvfcmp.seq.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0ca38000u) { + insn->mnemonic = "xvfcmp.sle.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c938000u) { + insn->mnemonic = "xvfcmp.sle.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0ca18000u) { + insn->mnemonic = "xvfcmp.slt.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c918000u) { + insn->mnemonic = "xvfcmp.slt.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0ca88000u) { + insn->mnemonic = "xvfcmp.sne.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c988000u) { + insn->mnemonic = "xvfcmp.sne.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0caa8000u) { + insn->mnemonic = "xvfcmp.sor.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c9a8000u) { + insn->mnemonic = "xvfcmp.sor.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0ca68000u) { + insn->mnemonic = "xvfcmp.sueq.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c968000u) { + insn->mnemonic = "xvfcmp.sueq.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0ca78000u) { + insn->mnemonic = "xvfcmp.sule.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c978000u) { + insn->mnemonic = "xvfcmp.sule.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0ca58000u) { + insn->mnemonic = "xvfcmp.sult.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c958000u) { + insn->mnemonic = "xvfcmp.sult.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0ca48000u) { + insn->mnemonic = "xvfcmp.sun.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c948000u) { + insn->mnemonic = "xvfcmp.sun.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0cac8000u) { + insn->mnemonic = "xvfcmp.sune.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x0c9c8000u) { + insn->mnemonic = "xvfcmp.sune.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75460000u) { + insn->mnemonic = "xvfcvt.h.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75468000u) { + insn->mnemonic = "xvfcvt.s.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769df400u) { + insn->mnemonic = "xvfcvth.d.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769dec00u) { + insn->mnemonic = "xvfcvth.s.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769df000u) { + insn->mnemonic = "xvfcvtl.d.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769de800u) { + insn->mnemonic = "xvfcvtl.s.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x753b0000u) { + insn->mnemonic = "xvfdiv.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x753a8000u) { + insn->mnemonic = "xvfdiv.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769e0800u) { + insn->mnemonic = "xvffint.d.l"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769e0c00u) { + insn->mnemonic = "xvffint.d.lu"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75480000u) { + insn->mnemonic = "xvffint.s.l"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769e0000u) { + insn->mnemonic = "xvffint.s.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769e0400u) { + insn->mnemonic = "xvffint.s.wu"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769e1400u) { + insn->mnemonic = "xvffinth.d.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769e1000u) { + insn->mnemonic = "xvffintl.d.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769cc800u) { + insn->mnemonic = "xvflogb.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769cc400u) { + insn->mnemonic = "xvflogb.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfff00000u) == 0x0a200000u) { + insn->mnemonic = "xvfmadd.d"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_XVPR; + insn->operands[3].xvpr = (((word >> 15) & 0x1f)); + return; + } + if ((word & 0xfff00000u) == 0x0a100000u) { + insn->mnemonic = "xvfmadd.s"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_XVPR; + insn->operands[3].xvpr = (((word >> 15) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x753d0000u) { + insn->mnemonic = "xvfmax.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x753c8000u) { + insn->mnemonic = "xvfmax.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75410000u) { + insn->mnemonic = "xvfmaxa.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75408000u) { + insn->mnemonic = "xvfmaxa.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x753f0000u) { + insn->mnemonic = "xvfmin.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x753e8000u) { + insn->mnemonic = "xvfmin.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75430000u) { + insn->mnemonic = "xvfmina.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75428000u) { + insn->mnemonic = "xvfmina.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfff00000u) == 0x0a600000u) { + insn->mnemonic = "xvfmsub.d"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_XVPR; + insn->operands[3].xvpr = (((word >> 15) & 0x1f)); + return; + } + if ((word & 0xfff00000u) == 0x0a500000u) { + insn->mnemonic = "xvfmsub.s"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_XVPR; + insn->operands[3].xvpr = (((word >> 15) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75390000u) { + insn->mnemonic = "xvfmul.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75388000u) { + insn->mnemonic = "xvfmul.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfff00000u) == 0x0aa00000u) { + insn->mnemonic = "xvfnmadd.d"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_XVPR; + insn->operands[3].xvpr = (((word >> 15) & 0x1f)); + return; + } + if ((word & 0xfff00000u) == 0x0a900000u) { + insn->mnemonic = "xvfnmadd.s"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_XVPR; + insn->operands[3].xvpr = (((word >> 15) & 0x1f)); + return; + } + if ((word & 0xfff00000u) == 0x0ae00000u) { + insn->mnemonic = "xvfnmsub.d"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_XVPR; + insn->operands[3].xvpr = (((word >> 15) & 0x1f)); + return; + } + if ((word & 0xfff00000u) == 0x0ad00000u) { + insn->mnemonic = "xvfnmsub.s"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_XVPR; + insn->operands[3].xvpr = (((word >> 15) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769cf800u) { + insn->mnemonic = "xvfrecip.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769cf400u) { + insn->mnemonic = "xvfrecip.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769d1800u) { + insn->mnemonic = "xvfrecipe.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769d1400u) { + insn->mnemonic = "xvfrecipe.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769d3800u) { + insn->mnemonic = "xvfrint.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769d3400u) { + insn->mnemonic = "xvfrint.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769d4800u) { + insn->mnemonic = "xvfrintrm.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769d4400u) { + insn->mnemonic = "xvfrintrm.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769d7800u) { + insn->mnemonic = "xvfrintrne.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769d7400u) { + insn->mnemonic = "xvfrintrne.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769d5800u) { + insn->mnemonic = "xvfrintrp.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769d5400u) { + insn->mnemonic = "xvfrintrp.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769d6800u) { + insn->mnemonic = "xvfrintrz.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769d6400u) { + insn->mnemonic = "xvfrintrz.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769d0800u) { + insn->mnemonic = "xvfrsqrt.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769d0400u) { + insn->mnemonic = "xvfrsqrt.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769d2800u) { + insn->mnemonic = "xvfrsqrte.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769d2400u) { + insn->mnemonic = "xvfrsqrte.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x752b0000u) { + insn->mnemonic = "xvfrstp.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x752b8000u) { + insn->mnemonic = "xvfrstp.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x769a0000u) { + insn->mnemonic = "xvfrstpi.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x769a8000u) { + insn->mnemonic = "xvfrstpi.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769ce800u) { + insn->mnemonic = "xvfsqrt.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769ce400u) { + insn->mnemonic = "xvfsqrt.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75330000u) { + insn->mnemonic = "xvfsub.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75328000u) { + insn->mnemonic = "xvfsub.s"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769e3400u) { + insn->mnemonic = "xvftint.l.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769e5c00u) { + insn->mnemonic = "xvftint.lu.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75498000u) { + insn->mnemonic = "xvftint.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769e3000u) { + insn->mnemonic = "xvftint.w.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769e5800u) { + insn->mnemonic = "xvftint.wu.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769e8400u) { + insn->mnemonic = "xvftinth.l.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769e8000u) { + insn->mnemonic = "xvftintl.l.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769e3c00u) { + insn->mnemonic = "xvftintrm.l.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x754a0000u) { + insn->mnemonic = "xvftintrm.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769e3800u) { + insn->mnemonic = "xvftintrm.w.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769e8c00u) { + insn->mnemonic = "xvftintrmh.l.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769e8800u) { + insn->mnemonic = "xvftintrml.l.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769e5400u) { + insn->mnemonic = "xvftintrne.l.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x754b8000u) { + insn->mnemonic = "xvftintrne.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769e5000u) { + insn->mnemonic = "xvftintrne.w.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769ea400u) { + insn->mnemonic = "xvftintrneh.l.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769ea000u) { + insn->mnemonic = "xvftintrnel.l.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769e4400u) { + insn->mnemonic = "xvftintrp.l.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x754a8000u) { + insn->mnemonic = "xvftintrp.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769e4000u) { + insn->mnemonic = "xvftintrp.w.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769e9400u) { + insn->mnemonic = "xvftintrph.l.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769e9000u) { + insn->mnemonic = "xvftintrpl.l.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769e4c00u) { + insn->mnemonic = "xvftintrz.l.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769e7400u) { + insn->mnemonic = "xvftintrz.lu.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x754b0000u) { + insn->mnemonic = "xvftintrz.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769e4800u) { + insn->mnemonic = "xvftintrz.w.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769e7000u) { + insn->mnemonic = "xvftintrz.wu.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769e9c00u) { + insn->mnemonic = "xvftintrzh.l.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769e9800u) { + insn->mnemonic = "xvftintrzl.l.s"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74550000u) { + insn->mnemonic = "xvhaddw.d.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74590000u) { + insn->mnemonic = "xvhaddw.du.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74540000u) { + insn->mnemonic = "xvhaddw.h.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74580000u) { + insn->mnemonic = "xvhaddw.hu.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74558000u) { + insn->mnemonic = "xvhaddw.q.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74598000u) { + insn->mnemonic = "xvhaddw.qu.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74548000u) { + insn->mnemonic = "xvhaddw.w.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74588000u) { + insn->mnemonic = "xvhaddw.wu.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74570000u) { + insn->mnemonic = "xvhsubw.d.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x745b0000u) { + insn->mnemonic = "xvhsubw.du.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74560000u) { + insn->mnemonic = "xvhsubw.h.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x745a0000u) { + insn->mnemonic = "xvhsubw.hu.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74578000u) { + insn->mnemonic = "xvhsubw.q.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x745b8000u) { + insn->mnemonic = "xvhsubw.qu.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74568000u) { + insn->mnemonic = "xvhsubw.w.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x745a8000u) { + insn->mnemonic = "xvhsubw.wu.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x751c0000u) { + insn->mnemonic = "xvilvh.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x751d8000u) { + insn->mnemonic = "xvilvh.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x751c8000u) { + insn->mnemonic = "xvilvh.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x751d0000u) { + insn->mnemonic = "xvilvh.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x751a0000u) { + insn->mnemonic = "xvilvl.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x751b8000u) { + insn->mnemonic = "xvilvl.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x751a8000u) { + insn->mnemonic = "xvilvl.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x751b0000u) { + insn->mnemonic = "xvilvl.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffff000u) == 0x76ebe000u) { + insn->mnemonic = "xvinsgr2vr.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3)); + return; + } + if ((word & 0xffffe000u) == 0x76ebc000u) { + insn->mnemonic = "xvinsgr2vr.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xfffff000u) == 0x76ffe000u) { + insn->mnemonic = "xvinsve0.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3)); + return; + } + if ((word & 0xffffe000u) == 0x76ffc000u) { + insn->mnemonic = "xvinsve0.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffc00000u) == 0x2c800000u) { + insn->mnemonic = "xvld"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xfffc0000u) == 0x77e00000u) { + insn->mnemonic = "xvldi"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_SIMM; + insn->operands[1].simm = ((int32_t)((word >> 5) & 0x1fff) << 19 >> 19); + return; + } + if ((word & 0xffc00000u) == 0x32800000u) { + insn->mnemonic = "xvldrepl.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xfff80000u) == 0x32100000u) { + insn->mnemonic = "xvldrepl.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1ff) << 23 >> 23 << 3); + return; + } + if ((word & 0xffe00000u) == 0x32400000u) { + insn->mnemonic = "xvldrepl.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x7ff) << 21 >> 21 << 1); + return; + } + if ((word & 0xfff00000u) == 0x32200000u) { + insn->mnemonic = "xvldrepl.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x3ff) << 22 >> 22 << 2); + return; + } + if ((word & 0xffff8000u) == 0x38480000u) { + insn->mnemonic = "xvldx"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74a80000u) { + insn->mnemonic = "xvmadd.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74a98000u) { + insn->mnemonic = "xvmadd.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74a88000u) { + insn->mnemonic = "xvmadd.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74a90000u) { + insn->mnemonic = "xvmadd.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74ad0000u) { + insn->mnemonic = "xvmaddwev.d.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74b50000u) { + insn->mnemonic = "xvmaddwev.d.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74bd0000u) { + insn->mnemonic = "xvmaddwev.d.wu.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74ac0000u) { + insn->mnemonic = "xvmaddwev.h.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74b40000u) { + insn->mnemonic = "xvmaddwev.h.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74bc0000u) { + insn->mnemonic = "xvmaddwev.h.bu.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74ad8000u) { + insn->mnemonic = "xvmaddwev.q.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74b58000u) { + insn->mnemonic = "xvmaddwev.q.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74bd8000u) { + insn->mnemonic = "xvmaddwev.q.du.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74ac8000u) { + insn->mnemonic = "xvmaddwev.w.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74b48000u) { + insn->mnemonic = "xvmaddwev.w.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74bc8000u) { + insn->mnemonic = "xvmaddwev.w.hu.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74af0000u) { + insn->mnemonic = "xvmaddwod.d.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74b70000u) { + insn->mnemonic = "xvmaddwod.d.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74bf0000u) { + insn->mnemonic = "xvmaddwod.d.wu.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74ae0000u) { + insn->mnemonic = "xvmaddwod.h.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74b60000u) { + insn->mnemonic = "xvmaddwod.h.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74be0000u) { + insn->mnemonic = "xvmaddwod.h.bu.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74af8000u) { + insn->mnemonic = "xvmaddwod.q.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74b78000u) { + insn->mnemonic = "xvmaddwod.q.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74bf8000u) { + insn->mnemonic = "xvmaddwod.q.du.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74ae8000u) { + insn->mnemonic = "xvmaddwod.w.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74b68000u) { + insn->mnemonic = "xvmaddwod.w.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74be8000u) { + insn->mnemonic = "xvmaddwod.w.hu.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74700000u) { + insn->mnemonic = "xvmax.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74740000u) { + insn->mnemonic = "xvmax.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74718000u) { + insn->mnemonic = "xvmax.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74758000u) { + insn->mnemonic = "xvmax.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74708000u) { + insn->mnemonic = "xvmax.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74748000u) { + insn->mnemonic = "xvmax.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74710000u) { + insn->mnemonic = "xvmax.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74750000u) { + insn->mnemonic = "xvmax.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x76900000u) { + insn->mnemonic = "xvmaxi.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x76940000u) { + insn->mnemonic = "xvmaxi.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x76918000u) { + insn->mnemonic = "xvmaxi.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x76958000u) { + insn->mnemonic = "xvmaxi.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x76908000u) { + insn->mnemonic = "xvmaxi.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x76948000u) { + insn->mnemonic = "xvmaxi.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x76910000u) { + insn->mnemonic = "xvmaxi.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x76950000u) { + insn->mnemonic = "xvmaxi.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x769b8000u) { + insn->mnemonic = "xvmepatmsk.v"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_UIMM; + insn->operands[1].uimm = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74720000u) { + insn->mnemonic = "xvmin.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74760000u) { + insn->mnemonic = "xvmin.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74738000u) { + insn->mnemonic = "xvmin.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74778000u) { + insn->mnemonic = "xvmin.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74728000u) { + insn->mnemonic = "xvmin.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74768000u) { + insn->mnemonic = "xvmin.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74730000u) { + insn->mnemonic = "xvmin.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74770000u) { + insn->mnemonic = "xvmin.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x76920000u) { + insn->mnemonic = "xvmini.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x76960000u) { + insn->mnemonic = "xvmini.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x76938000u) { + insn->mnemonic = "xvmini.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x76978000u) { + insn->mnemonic = "xvmini.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x76928000u) { + insn->mnemonic = "xvmini.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x76968000u) { + insn->mnemonic = "xvmini.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x76930000u) { + insn->mnemonic = "xvmini.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x76970000u) { + insn->mnemonic = "xvmini.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74e20000u) { + insn->mnemonic = "xvmod.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74e60000u) { + insn->mnemonic = "xvmod.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74e38000u) { + insn->mnemonic = "xvmod.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74e78000u) { + insn->mnemonic = "xvmod.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74e28000u) { + insn->mnemonic = "xvmod.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74e68000u) { + insn->mnemonic = "xvmod.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74e30000u) { + insn->mnemonic = "xvmod.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74e70000u) { + insn->mnemonic = "xvmod.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769c5000u) { + insn->mnemonic = "xvmskgez.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769c4000u) { + insn->mnemonic = "xvmskltz.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769c4c00u) { + insn->mnemonic = "xvmskltz.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769c4400u) { + insn->mnemonic = "xvmskltz.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769c4800u) { + insn->mnemonic = "xvmskltz.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769c6000u) { + insn->mnemonic = "xvmsknz.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74aa0000u) { + insn->mnemonic = "xvmsub.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74ab8000u) { + insn->mnemonic = "xvmsub.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74aa8000u) { + insn->mnemonic = "xvmsub.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74ab0000u) { + insn->mnemonic = "xvmsub.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74860000u) { + insn->mnemonic = "xvmuh.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74880000u) { + insn->mnemonic = "xvmuh.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74878000u) { + insn->mnemonic = "xvmuh.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74898000u) { + insn->mnemonic = "xvmuh.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74868000u) { + insn->mnemonic = "xvmuh.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74888000u) { + insn->mnemonic = "xvmuh.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74870000u) { + insn->mnemonic = "xvmuh.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74890000u) { + insn->mnemonic = "xvmuh.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74840000u) { + insn->mnemonic = "xvmul.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74858000u) { + insn->mnemonic = "xvmul.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74848000u) { + insn->mnemonic = "xvmul.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74850000u) { + insn->mnemonic = "xvmul.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74910000u) { + insn->mnemonic = "xvmulwev.d.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74990000u) { + insn->mnemonic = "xvmulwev.d.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74a10000u) { + insn->mnemonic = "xvmulwev.d.wu.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74900000u) { + insn->mnemonic = "xvmulwev.h.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74980000u) { + insn->mnemonic = "xvmulwev.h.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74a00000u) { + insn->mnemonic = "xvmulwev.h.bu.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74918000u) { + insn->mnemonic = "xvmulwev.q.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74998000u) { + insn->mnemonic = "xvmulwev.q.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74a18000u) { + insn->mnemonic = "xvmulwev.q.du.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74908000u) { + insn->mnemonic = "xvmulwev.w.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74988000u) { + insn->mnemonic = "xvmulwev.w.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74a08000u) { + insn->mnemonic = "xvmulwev.w.hu.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74930000u) { + insn->mnemonic = "xvmulwod.d.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x749b0000u) { + insn->mnemonic = "xvmulwod.d.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74a30000u) { + insn->mnemonic = "xvmulwod.d.wu.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74920000u) { + insn->mnemonic = "xvmulwod.h.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x749a0000u) { + insn->mnemonic = "xvmulwod.h.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74a20000u) { + insn->mnemonic = "xvmulwod.h.bu.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74938000u) { + insn->mnemonic = "xvmulwod.q.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x749b8000u) { + insn->mnemonic = "xvmulwod.q.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74a38000u) { + insn->mnemonic = "xvmulwod.q.du.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74928000u) { + insn->mnemonic = "xvmulwod.w.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x749a8000u) { + insn->mnemonic = "xvmulwod.w.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74a28000u) { + insn->mnemonic = "xvmulwod.w.hu.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769c3000u) { + insn->mnemonic = "xvneg.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769c3c00u) { + insn->mnemonic = "xvneg.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769c3400u) { + insn->mnemonic = "xvneg.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769c3800u) { + insn->mnemonic = "xvneg.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75278000u) { + insn->mnemonic = "xvnor.v"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffc0000u) == 0x77dc0000u) { + insn->mnemonic = "xvnori.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xffff8000u) == 0x75268000u) { + insn->mnemonic = "xvor.v"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffc0000u) == 0x77d40000u) { + insn->mnemonic = "xvori.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xffff8000u) == 0x75288000u) { + insn->mnemonic = "xvorn.v"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75160000u) { + insn->mnemonic = "xvpackev.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75178000u) { + insn->mnemonic = "xvpackev.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75168000u) { + insn->mnemonic = "xvpackev.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75170000u) { + insn->mnemonic = "xvpackev.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75180000u) { + insn->mnemonic = "xvpackod.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75198000u) { + insn->mnemonic = "xvpackod.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75188000u) { + insn->mnemonic = "xvpackod.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75190000u) { + insn->mnemonic = "xvpackod.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769c2000u) { + insn->mnemonic = "xvpcnt.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769c2c00u) { + insn->mnemonic = "xvpcnt.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769c2400u) { + insn->mnemonic = "xvpcnt.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769c2800u) { + insn->mnemonic = "xvpcnt.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x757d0000u) { + insn->mnemonic = "xvperm.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffc0000u) == 0x77e80000u) { + insn->mnemonic = "xvpermi.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xfffc0000u) == 0x77ec0000u) { + insn->mnemonic = "xvpermi.q"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xfffc0000u) == 0x77e40000u) { + insn->mnemonic = "xvpermi.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xffff8000u) == 0x751e0000u) { + insn->mnemonic = "xvpickev.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x751f8000u) { + insn->mnemonic = "xvpickev.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x751e8000u) { + insn->mnemonic = "xvpickev.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x751f0000u) { + insn->mnemonic = "xvpickev.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75200000u) { + insn->mnemonic = "xvpickod.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75218000u) { + insn->mnemonic = "xvpickod.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75208000u) { + insn->mnemonic = "xvpickod.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75210000u) { + insn->mnemonic = "xvpickod.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffff000u) == 0x76efe000u) { + insn->mnemonic = "xvpickve2gr.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3)); + return; + } + if ((word & 0xfffff000u) == 0x76f3e000u) { + insn->mnemonic = "xvpickve2gr.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3)); + return; + } + if ((word & 0xffffe000u) == 0x76efc000u) { + insn->mnemonic = "xvpickve2gr.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffffe000u) == 0x76f3c000u) { + insn->mnemonic = "xvpickve2gr.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_GPR; + insn->operands[0].gpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xfffff000u) == 0x7703e000u) { + insn->mnemonic = "xvpickve.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3)); + return; + } + if ((word & 0xffffe000u) == 0x7703c000u) { + insn->mnemonic = "xvpickve.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffffc000u) == 0x76f78000u) { + insn->mnemonic = "xvrepl128vei.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xfffff800u) == 0x76f7f000u) { + insn->mnemonic = "xvrepl128vei.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1)); + return; + } + if ((word & 0xffffe000u) == 0x76f7c000u) { + insn->mnemonic = "xvrepl128vei.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xfffff000u) == 0x76f7e000u) { + insn->mnemonic = "xvrepl128vei.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3)); + return; + } + if ((word & 0xfffffc00u) == 0x769f0000u) { + insn->mnemonic = "xvreplgr2vr.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769f0c00u) { + insn->mnemonic = "xvreplgr2vr.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769f0400u) { + insn->mnemonic = "xvreplgr2vr.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x769f0800u) { + insn->mnemonic = "xvreplgr2vr.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x77070000u) { + insn->mnemonic = "xvreplve0.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x7707e000u) { + insn->mnemonic = "xvreplve0.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x77078000u) { + insn->mnemonic = "xvreplve0.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x7707f000u) { + insn->mnemonic = "xvreplve0.q"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc00u) == 0x7707c000u) { + insn->mnemonic = "xvreplve0.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75220000u) { + insn->mnemonic = "xvreplve.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75238000u) { + insn->mnemonic = "xvreplve.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75228000u) { + insn->mnemonic = "xvreplve.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75230000u) { + insn->mnemonic = "xvreplve.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74ee0000u) { + insn->mnemonic = "xvrotr.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74ef8000u) { + insn->mnemonic = "xvrotr.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74ee8000u) { + insn->mnemonic = "xvrotr.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74ef0000u) { + insn->mnemonic = "xvrotr.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffe000u) == 0x76a02000u) { + insn->mnemonic = "xvrotri.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffff0000u) == 0x76a10000u) { + insn->mnemonic = "xvrotri.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffffc000u) == 0x76a04000u) { + insn->mnemonic = "xvrotri.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff8000u) == 0x76a08000u) { + insn->mnemonic = "xvrotri.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74460000u) { + insn->mnemonic = "xvsadd.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x744a0000u) { + insn->mnemonic = "xvsadd.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74478000u) { + insn->mnemonic = "xvsadd.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x744b8000u) { + insn->mnemonic = "xvsadd.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74468000u) { + insn->mnemonic = "xvsadd.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x744a8000u) { + insn->mnemonic = "xvsadd.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74470000u) { + insn->mnemonic = "xvsadd.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x744b0000u) { + insn->mnemonic = "xvsadd.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffe000u) == 0x77242000u) { + insn->mnemonic = "xvsat.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffffe000u) == 0x77282000u) { + insn->mnemonic = "xvsat.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffff0000u) == 0x77250000u) { + insn->mnemonic = "xvsat.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffff0000u) == 0x77290000u) { + insn->mnemonic = "xvsat.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffffc000u) == 0x77244000u) { + insn->mnemonic = "xvsat.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffffc000u) == 0x77284000u) { + insn->mnemonic = "xvsat.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff8000u) == 0x77248000u) { + insn->mnemonic = "xvsat.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x77288000u) { + insn->mnemonic = "xvsat.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74000000u) { + insn->mnemonic = "xvseq.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74018000u) { + insn->mnemonic = "xvseq.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74008000u) { + insn->mnemonic = "xvseq.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74010000u) { + insn->mnemonic = "xvseq.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x76800000u) { + insn->mnemonic = "xvseqi.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x76818000u) { + insn->mnemonic = "xvseqi.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x76808000u) { + insn->mnemonic = "xvseqi.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x76810000u) { + insn->mnemonic = "xvseqi.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xfffffc18u) == 0x769cb000u) { + insn->mnemonic = "xvsetallnez.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc18u) == 0x769cbc00u) { + insn->mnemonic = "xvsetallnez.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc18u) == 0x769cb400u) { + insn->mnemonic = "xvsetallnez.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc18u) == 0x769cb800u) { + insn->mnemonic = "xvsetallnez.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc18u) == 0x769ca000u) { + insn->mnemonic = "xvsetanyeqz.b"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc18u) == 0x769cac00u) { + insn->mnemonic = "xvsetanyeqz.d"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc18u) == 0x769ca400u) { + insn->mnemonic = "xvsetanyeqz.h"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc18u) == 0x769ca800u) { + insn->mnemonic = "xvsetanyeqz.w"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc18u) == 0x769c9800u) { + insn->mnemonic = "xvseteqz.v"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffffc18u) == 0x769c9c00u) { + insn->mnemonic = "xvsetnez.v"; + insn->operand_count = 2; + insn->operands[0].kind = LA_OP_FCC; + insn->operands[0].fcc = (((word >> 0) & 0x7)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + return; + } + if ((word & 0xfffc0000u) == 0x77900000u) { + insn->mnemonic = "xvshuf4i.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xfffc0000u) == 0x779c0000u) { + insn->mnemonic = "xvshuf4i.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xfffc0000u) == 0x77940000u) { + insn->mnemonic = "xvshuf4i.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xfffc0000u) == 0x77980000u) { + insn->mnemonic = "xvshuf4i.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xfff00000u) == 0x0d600000u) { + insn->mnemonic = "xvshuf.b"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + insn->operands[3].kind = LA_OP_XVPR; + insn->operands[3].xvpr = (((word >> 15) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x757b8000u) { + insn->mnemonic = "xvshuf.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x757a8000u) { + insn->mnemonic = "xvshuf.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x757b0000u) { + insn->mnemonic = "xvshuf.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x752e0000u) { + insn->mnemonic = "xvsigncov.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x752f8000u) { + insn->mnemonic = "xvsigncov.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x752e8000u) { + insn->mnemonic = "xvsigncov.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x752f0000u) { + insn->mnemonic = "xvsigncov.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74020000u) { + insn->mnemonic = "xvsle.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74040000u) { + insn->mnemonic = "xvsle.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74038000u) { + insn->mnemonic = "xvsle.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74058000u) { + insn->mnemonic = "xvsle.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74028000u) { + insn->mnemonic = "xvsle.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74048000u) { + insn->mnemonic = "xvsle.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74030000u) { + insn->mnemonic = "xvsle.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74050000u) { + insn->mnemonic = "xvsle.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x76820000u) { + insn->mnemonic = "xvslei.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x76840000u) { + insn->mnemonic = "xvslei.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x76838000u) { + insn->mnemonic = "xvslei.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x76858000u) { + insn->mnemonic = "xvslei.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x76828000u) { + insn->mnemonic = "xvslei.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x76848000u) { + insn->mnemonic = "xvslei.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x76830000u) { + insn->mnemonic = "xvslei.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x76850000u) { + insn->mnemonic = "xvslei.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74e80000u) { + insn->mnemonic = "xvsll.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74e98000u) { + insn->mnemonic = "xvsll.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74e88000u) { + insn->mnemonic = "xvsll.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74e90000u) { + insn->mnemonic = "xvsll.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffe000u) == 0x772c2000u) { + insn->mnemonic = "xvslli.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffff0000u) == 0x772d0000u) { + insn->mnemonic = "xvslli.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffffc000u) == 0x772c4000u) { + insn->mnemonic = "xvslli.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff8000u) == 0x772c8000u) { + insn->mnemonic = "xvslli.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x77088000u) { + insn->mnemonic = "xvsllwil.d.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x770c8000u) { + insn->mnemonic = "xvsllwil.du.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffe000u) == 0x77082000u) { + insn->mnemonic = "xvsllwil.h.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffffe000u) == 0x770c2000u) { + insn->mnemonic = "xvsllwil.hu.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffffc000u) == 0x77084000u) { + insn->mnemonic = "xvsllwil.w.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffffc000u) == 0x770c4000u) { + insn->mnemonic = "xvsllwil.wu.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff8000u) == 0x74060000u) { + insn->mnemonic = "xvslt.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74080000u) { + insn->mnemonic = "xvslt.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74078000u) { + insn->mnemonic = "xvslt.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74098000u) { + insn->mnemonic = "xvslt.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74068000u) { + insn->mnemonic = "xvslt.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74088000u) { + insn->mnemonic = "xvslt.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74070000u) { + insn->mnemonic = "xvslt.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74090000u) { + insn->mnemonic = "xvslt.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x76860000u) { + insn->mnemonic = "xvslti.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x76880000u) { + insn->mnemonic = "xvslti.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x76878000u) { + insn->mnemonic = "xvslti.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x76898000u) { + insn->mnemonic = "xvslti.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x76868000u) { + insn->mnemonic = "xvslti.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x76888000u) { + insn->mnemonic = "xvslti.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x76870000u) { + insn->mnemonic = "xvslti.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0x1f) << 27 >> 27); + return; + } + if ((word & 0xffff8000u) == 0x76890000u) { + insn->mnemonic = "xvslti.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74ec0000u) { + insn->mnemonic = "xvsra.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74ed8000u) { + insn->mnemonic = "xvsra.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74ec8000u) { + insn->mnemonic = "xvsra.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74ed0000u) { + insn->mnemonic = "xvsra.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffe000u) == 0x77342000u) { + insn->mnemonic = "xvsrai.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffff0000u) == 0x77350000u) { + insn->mnemonic = "xvsrai.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffffc000u) == 0x77344000u) { + insn->mnemonic = "xvsrai.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff8000u) == 0x77348000u) { + insn->mnemonic = "xvsrai.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74f68000u) { + insn->mnemonic = "xvsran.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74f70000u) { + insn->mnemonic = "xvsran.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74f78000u) { + insn->mnemonic = "xvsran.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffc000u) == 0x77584000u) { + insn->mnemonic = "xvsrani.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xfffe0000u) == 0x775a0000u) { + insn->mnemonic = "xvsrani.d.q"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7f)); + return; + } + if ((word & 0xffff8000u) == 0x77588000u) { + insn->mnemonic = "xvsrani.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff0000u) == 0x77590000u) { + insn->mnemonic = "xvsrani.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffff8000u) == 0x74f20000u) { + insn->mnemonic = "xvsrar.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74f38000u) { + insn->mnemonic = "xvsrar.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74f28000u) { + insn->mnemonic = "xvsrar.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74f30000u) { + insn->mnemonic = "xvsrar.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffe000u) == 0x76a82000u) { + insn->mnemonic = "xvsrari.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffff0000u) == 0x76a90000u) { + insn->mnemonic = "xvsrari.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffffc000u) == 0x76a84000u) { + insn->mnemonic = "xvsrari.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff8000u) == 0x76a88000u) { + insn->mnemonic = "xvsrari.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74fa8000u) { + insn->mnemonic = "xvsrarn.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74fb0000u) { + insn->mnemonic = "xvsrarn.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74fb8000u) { + insn->mnemonic = "xvsrarn.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffc000u) == 0x775c4000u) { + insn->mnemonic = "xvsrarni.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xfffe0000u) == 0x775e0000u) { + insn->mnemonic = "xvsrarni.d.q"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7f)); + return; + } + if ((word & 0xffff8000u) == 0x775c8000u) { + insn->mnemonic = "xvsrarni.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff0000u) == 0x775d0000u) { + insn->mnemonic = "xvsrarni.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffff8000u) == 0x74ea0000u) { + insn->mnemonic = "xvsrl.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74eb8000u) { + insn->mnemonic = "xvsrl.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74ea8000u) { + insn->mnemonic = "xvsrl.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74eb0000u) { + insn->mnemonic = "xvsrl.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffe000u) == 0x77302000u) { + insn->mnemonic = "xvsrli.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffff0000u) == 0x77310000u) { + insn->mnemonic = "xvsrli.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffffc000u) == 0x77304000u) { + insn->mnemonic = "xvsrli.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff8000u) == 0x77308000u) { + insn->mnemonic = "xvsrli.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74f48000u) { + insn->mnemonic = "xvsrln.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74f50000u) { + insn->mnemonic = "xvsrln.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74f58000u) { + insn->mnemonic = "xvsrln.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffc000u) == 0x77404000u) { + insn->mnemonic = "xvsrlni.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xfffe0000u) == 0x77420000u) { + insn->mnemonic = "xvsrlni.d.q"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7f)); + return; + } + if ((word & 0xffff8000u) == 0x77408000u) { + insn->mnemonic = "xvsrlni.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff0000u) == 0x77410000u) { + insn->mnemonic = "xvsrlni.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffff8000u) == 0x74f00000u) { + insn->mnemonic = "xvsrlr.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74f18000u) { + insn->mnemonic = "xvsrlr.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74f08000u) { + insn->mnemonic = "xvsrlr.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74f10000u) { + insn->mnemonic = "xvsrlr.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffe000u) == 0x76a42000u) { + insn->mnemonic = "xvsrlri.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7)); + return; + } + if ((word & 0xffff0000u) == 0x76a50000u) { + insn->mnemonic = "xvsrlri.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffffc000u) == 0x76a44000u) { + insn->mnemonic = "xvsrlri.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffff8000u) == 0x76a48000u) { + insn->mnemonic = "xvsrlri.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74f88000u) { + insn->mnemonic = "xvsrlrn.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74f90000u) { + insn->mnemonic = "xvsrlrn.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74f98000u) { + insn->mnemonic = "xvsrlrn.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffc000u) == 0x77444000u) { + insn->mnemonic = "xvsrlrni.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xfffe0000u) == 0x77460000u) { + insn->mnemonic = "xvsrlrni.d.q"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7f)); + return; + } + if ((word & 0xffff8000u) == 0x77448000u) { + insn->mnemonic = "xvsrlrni.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff0000u) == 0x77450000u) { + insn->mnemonic = "xvsrlrni.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffff8000u) == 0x74fe8000u) { + insn->mnemonic = "xvssran.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75068000u) { + insn->mnemonic = "xvssran.bu.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74ff0000u) { + insn->mnemonic = "xvssran.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75070000u) { + insn->mnemonic = "xvssran.hu.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74ff8000u) { + insn->mnemonic = "xvssran.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75078000u) { + insn->mnemonic = "xvssran.wu.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffc000u) == 0x77604000u) { + insn->mnemonic = "xvssrani.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffffc000u) == 0x77644000u) { + insn->mnemonic = "xvssrani.bu.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xfffe0000u) == 0x77620000u) { + insn->mnemonic = "xvssrani.d.q"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7f)); + return; + } + if ((word & 0xfffe0000u) == 0x77660000u) { + insn->mnemonic = "xvssrani.du.q"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7f)); + return; + } + if ((word & 0xffff8000u) == 0x77608000u) { + insn->mnemonic = "xvssrani.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x77648000u) { + insn->mnemonic = "xvssrani.hu.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff0000u) == 0x77610000u) { + insn->mnemonic = "xvssrani.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffff0000u) == 0x77650000u) { + insn->mnemonic = "xvssrani.wu.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffff8000u) == 0x75028000u) { + insn->mnemonic = "xvssrarn.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x750a8000u) { + insn->mnemonic = "xvssrarn.bu.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75030000u) { + insn->mnemonic = "xvssrarn.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x750b0000u) { + insn->mnemonic = "xvssrarn.hu.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75038000u) { + insn->mnemonic = "xvssrarn.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x750b8000u) { + insn->mnemonic = "xvssrarn.wu.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffc000u) == 0x77684000u) { + insn->mnemonic = "xvssrarni.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffffc000u) == 0x776c4000u) { + insn->mnemonic = "xvssrarni.bu.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xfffe0000u) == 0x776a0000u) { + insn->mnemonic = "xvssrarni.d.q"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7f)); + return; + } + if ((word & 0xfffe0000u) == 0x776e0000u) { + insn->mnemonic = "xvssrarni.du.q"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7f)); + return; + } + if ((word & 0xffff8000u) == 0x77688000u) { + insn->mnemonic = "xvssrarni.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x776c8000u) { + insn->mnemonic = "xvssrarni.hu.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff0000u) == 0x77690000u) { + insn->mnemonic = "xvssrarni.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffff0000u) == 0x776d0000u) { + insn->mnemonic = "xvssrarni.wu.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffff8000u) == 0x74fc8000u) { + insn->mnemonic = "xvssrln.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75048000u) { + insn->mnemonic = "xvssrln.bu.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74fd0000u) { + insn->mnemonic = "xvssrln.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75050000u) { + insn->mnemonic = "xvssrln.hu.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74fd8000u) { + insn->mnemonic = "xvssrln.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75058000u) { + insn->mnemonic = "xvssrln.wu.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffc000u) == 0x77484000u) { + insn->mnemonic = "xvssrlni.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffffc000u) == 0x774c4000u) { + insn->mnemonic = "xvssrlni.bu.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xfffe0000u) == 0x774a0000u) { + insn->mnemonic = "xvssrlni.d.q"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7f)); + return; + } + if ((word & 0xfffe0000u) == 0x774e0000u) { + insn->mnemonic = "xvssrlni.du.q"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7f)); + return; + } + if ((word & 0xffff8000u) == 0x77488000u) { + insn->mnemonic = "xvssrlni.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x774c8000u) { + insn->mnemonic = "xvssrlni.hu.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff0000u) == 0x77490000u) { + insn->mnemonic = "xvssrlni.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffff0000u) == 0x774d0000u) { + insn->mnemonic = "xvssrlni.wu.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffff8000u) == 0x75008000u) { + insn->mnemonic = "xvssrlrn.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75088000u) { + insn->mnemonic = "xvssrlrn.bu.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75010000u) { + insn->mnemonic = "xvssrlrn.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75090000u) { + insn->mnemonic = "xvssrlrn.hu.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75018000u) { + insn->mnemonic = "xvssrlrn.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75098000u) { + insn->mnemonic = "xvssrlrn.wu.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffffc000u) == 0x77504000u) { + insn->mnemonic = "xvssrlrni.b.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xffffc000u) == 0x77544000u) { + insn->mnemonic = "xvssrlrni.bu.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xf)); + return; + } + if ((word & 0xfffe0000u) == 0x77520000u) { + insn->mnemonic = "xvssrlrni.d.q"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7f)); + return; + } + if ((word & 0xfffe0000u) == 0x77560000u) { + insn->mnemonic = "xvssrlrni.du.q"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x7f)); + return; + } + if ((word & 0xffff8000u) == 0x77508000u) { + insn->mnemonic = "xvssrlrni.h.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x77548000u) { + insn->mnemonic = "xvssrlrni.hu.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff0000u) == 0x77510000u) { + insn->mnemonic = "xvssrlrni.w.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffff0000u) == 0x77550000u) { + insn->mnemonic = "xvssrlrni.wu.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x3f)); + return; + } + if ((word & 0xffff8000u) == 0x74480000u) { + insn->mnemonic = "xvssub.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x744c0000u) { + insn->mnemonic = "xvssub.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74498000u) { + insn->mnemonic = "xvssub.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x744d8000u) { + insn->mnemonic = "xvssub.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74488000u) { + insn->mnemonic = "xvssub.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x744c8000u) { + insn->mnemonic = "xvssub.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74490000u) { + insn->mnemonic = "xvssub.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x744d0000u) { + insn->mnemonic = "xvssub.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffc00000u) == 0x2cc00000u) { + insn->mnemonic = "xvst"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xfff) << 20 >> 20); + return; + } + if ((word & 0xff800000u) == 0x33800000u) { + insn->mnemonic = "xvstelm.b"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xff) << 24 >> 24); + insn->operands[3].kind = LA_OP_UIMM; + insn->operands[3].uimm = (((word >> 18) & 0x1f)); + return; + } + if ((word & 0xfff00000u) == 0x33100000u) { + insn->mnemonic = "xvstelm.d"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xff) << 24 >> 24 << 3); + insn->operands[3].kind = LA_OP_UIMM; + insn->operands[3].uimm = (((word >> 18) & 0x3)); + return; + } + if ((word & 0xffc00000u) == 0x33400000u) { + insn->mnemonic = "xvstelm.h"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xff) << 24 >> 24 << 1); + insn->operands[3].kind = LA_OP_UIMM; + insn->operands[3].uimm = (((word >> 18) & 0xf)); + return; + } + if ((word & 0xffe00000u) == 0x33200000u) { + insn->mnemonic = "xvstelm.w"; + insn->operand_count = 4; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_SIMM; + insn->operands[2].simm = ((int32_t)((word >> 10) & 0xff) << 24 >> 24 << 2); + insn->operands[3].kind = LA_OP_UIMM; + insn->operands[3].uimm = (((word >> 18) & 0x7)); + return; + } + if ((word & 0xffff8000u) == 0x384c0000u) { + insn->mnemonic = "xvstx"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_GPR; + insn->operands[1].gpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_GPR; + insn->operands[2].gpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x740c0000u) { + insn->mnemonic = "xvsub.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x740d8000u) { + insn->mnemonic = "xvsub.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x740c8000u) { + insn->mnemonic = "xvsub.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x752d8000u) { + insn->mnemonic = "xvsub.q"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x740d0000u) { + insn->mnemonic = "xvsub.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x768c0000u) { + insn->mnemonic = "xvsubi.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x768d8000u) { + insn->mnemonic = "xvsubi.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x768c8000u) { + insn->mnemonic = "xvsubi.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x768d0000u) { + insn->mnemonic = "xvsubi.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74210000u) { + insn->mnemonic = "xvsubwev.d.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74310000u) { + insn->mnemonic = "xvsubwev.d.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74200000u) { + insn->mnemonic = "xvsubwev.h.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74300000u) { + insn->mnemonic = "xvsubwev.h.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74218000u) { + insn->mnemonic = "xvsubwev.q.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74318000u) { + insn->mnemonic = "xvsubwev.q.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74208000u) { + insn->mnemonic = "xvsubwev.w.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74308000u) { + insn->mnemonic = "xvsubwev.w.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74250000u) { + insn->mnemonic = "xvsubwod.d.w"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74350000u) { + insn->mnemonic = "xvsubwod.d.wu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74240000u) { + insn->mnemonic = "xvsubwod.h.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74340000u) { + insn->mnemonic = "xvsubwod.h.bu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74258000u) { + insn->mnemonic = "xvsubwod.q.d"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74358000u) { + insn->mnemonic = "xvsubwod.q.du"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74248000u) { + insn->mnemonic = "xvsubwod.w.h"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x74348000u) { + insn->mnemonic = "xvsubwod.w.hu"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xffff8000u) == 0x75270000u) { + insn->mnemonic = "xvxor.v"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_XVPR; + insn->operands[2].xvpr = (((word >> 10) & 0x1f)); + return; + } + if ((word & 0xfffc0000u) == 0x77d80000u) { + insn->mnemonic = "xvxori.b"; + insn->operand_count = 3; + insn->operands[0].kind = LA_OP_XVPR; + insn->operands[0].xvpr = (((word >> 0) & 0x1f)); + insn->operands[1].kind = LA_OP_XVPR; + insn->operands[1].xvpr = (((word >> 5) & 0x1f)); + insn->operands[2].kind = LA_OP_UIMM; + insn->operands[2].uimm = (((word >> 10) & 0xff)); + return; + } + if ((word & 0xffffffffu) == 0x06493000u) { + insn->mnemonic = "xxx.unknown.1"; + insn->operand_count = 0; + return; + } + + //// ANCHOR: disasm end +} + +void la_insn_to_str(const lagoon_insn_t* insn, char* buf, size_t buf_size) +{ + if (insn->mnemonic == NULL) { + snprintf(buf, buf_size, ""); + return; + } + + int pos = snprintf(buf, buf_size, "%s", insn->mnemonic); + + for (int i = 0; i < insn->operand_count && pos < (int)buf_size - 1; i++) { + const la_operand_t* op = &insn->operands[i]; + char tmp[32]; + switch (op->kind) { + case LA_OP_GPR: + snprintf(tmp, sizeof(tmp), "%s", gpr_names[op->gpr & 31]); + break; + case LA_OP_FPR: + snprintf(tmp, sizeof(tmp), "%s", fpr_names[op->fpr & 31]); + break; + case LA_OP_VPR: + snprintf(tmp, sizeof(tmp), "$vr%d", op->vpr & 31); + break; + case LA_OP_XVPR: + snprintf(tmp, sizeof(tmp), "$xr%d", op->xvpr & 31); + break; + case LA_OP_FCC: + snprintf(tmp, sizeof(tmp), "$fcc%d", op->fcc & 7); + break; + case LA_OP_SCR: + snprintf(tmp, sizeof(tmp), "$scr%d", op->scr & 3); + break; + case LA_OP_FCSR: + snprintf(tmp, sizeof(tmp), "$fcsr%d", op->fcsr & 3); + break; + case LA_OP_SIMM: + snprintf(tmp, sizeof(tmp), "%d", op->simm); + break; + case LA_OP_UIMM: { + snprintf(tmp, sizeof(tmp), "%u", op->uimm); + } break; + } + pos += snprintf(buf + pos, buf_size - (size_t)pos, "%s%s", + i == 0 ? " " : ", ", tmp); + } +}